I don't think Zen is completely terrible, like you say his offense is great, but he's not nearly as good of a straight healer as mercy or Lucio, that's all. He has amazing damage which is where he shines over them, but hes too frail to constantly be in enemy sights. He can kill flankers sure, but most of them will kill him first unless they're terrible.
He makes a great supplemental healer for sure though, especially if the other team is going for a tanky line up where you can shred them with discord. There's line ups where he works, but solo healer really isn't one of them.
Of course , some matches you hardly need a healer at all and he's fun as fuck there just using the orb to top people off and focusing on damage.
Also, mercy can give a damage boost too, not as good as discord obviously, but saying all she does is heal bot is flat out wrong. Damage boosted pharah, soldier76 and junkrat can be scary plus gimmick setups like with bastion.