Ekko certainly does have his issues but I actually think Zed is still worse. That said lets cover some things you mention:
Itemizing against Mdmg isn't so bad as they must compete with CDs, mana sometimes, and health is more effective due to burst nature vs DPS on top of Mres. Unfortunately, burst reaches a breaking point when burst gets high enough, and worse when consistent dmg with low CDs or passives, reach a point that is intended to melt even reasonably tanky people who are going all defense. It produces the issue of you can't go any offense or you die instantly because you must invest entirely in survivability (Hexdrinker/Maw help some with this, but this is the only route for this in the game and I think it might be because I have seen this passive block obscene amounts of mdmg in a number of my games at random that it shouldn't). AD has armor shred and armor pen with nice build paths and other stats desirable for many AD oriented champs and health is not a consistent counter because of the DPS nature.
Zed can nuke your entire team or a good chunk of it with Q/E and shadow because his ratios are pretty generous, if he gets Hydra (everyone goes BotRK but don't consider it simply unviable) even more so. He has a strong passive/high AD nature to follow up and his ult.
Zed can use his W to escape in a more reliable manner than Ekko's pasive which only helps him actually flee, in most scenarios, within the first 0-2.5 seconds. Zed's ult gives a double method to bait and escape. Ekko doesn't have the highest mana cost but he certainly has more mana cost than Zed does if being played appropriately. Zed has no cost on his ult, his W can refund energy, more than it uses, and his Q + E have very low energy costs allowing about 3 rotations, potentially 4-5 before he actually lacks energy to spam further which is absolutely nuts. In lane his energy costs are irrelevant for the most part while Ekko actually does get gated to some extent by his. Ekko can't use his ult to both escape and fight while Zed can nearly every time. Zed clearly has the advantage here.
Zed can instant kill one person and do massive damage to the rest of your team depending on how you are positioned. Ekko can potentially wipe the entire team if they are positioned, roughly, in a similar manner as Zed or just do heavy damage but this requires the enemy to move on top of your ult's clone of their own volition as you will rarely get it under an entire team unless you dive in and flash out almost instantly while they are already heavily engaged possibly having the fight end or champions dissipate from location before your clone is even in place. Zed can follow up with his very potent autos and passive and repeatedly spam because what energy costs does he really have. Zed definitely has an advantage here.
Zed has multiple ways of escaping, an ult to dodge attacks in Zhongya like manner, and very strong synergy with taking either BotRK or Hydra as an early item and possibly BT later or one of the others and powerful autos due to his build route for comparable sustain if he has 3-4 seconds which he can buy with his kit in many cases. Ekko's heal is dependent on amount of dmg taken just prior to use and in many cases may have to decide between healing or damage. Shield is delayed so not always reliable but is decent. Toss up here but potentially favoring Ekko for damage mitigation but raw survivability definitely goes to Zed.
Zed has a slow. CC definitely goes to Ekko, stun being unreliable but his multiple slows are pretty crazy and spammable. Zed often builds BotRK, though which is worth considering.
Ekko has a short range dash and slightly longer if targeting enemy, but this almost always counts a single mobility effect. If you mean untargetability via Zhongya Zed has his ult with the same effect. The ult gives Ekko a 2nd form of mobility but with less direct control/reliability. Shop trick is definitely useful but I would argue how many actually use it regurlarly? It deflates your opportunity to use your ult in a fight. Maybe once or twice a match and not every match? Win goes to Zed here, no real comparison.
Zhongya does work handily against Zed to some extent, but it isn't a true counter play other than beyond the point of delaying his target of interest to focus in a team fight. He still has very powerful Q/E damage and his autos can often compete with ADCs/Yi and beat them late game, he also has his passive. Zhongya works just as well against Ekko albeit slightly less telegraphed. Ekko's DPS isn't nearly on par with Zed's so GA/BV (for his ult in a team fight if you avoid the other stuff, not that hard really unless you are target of focus), and Zhongya are far more effective counters to Ekko than Zed. QSS gets rid of his ult Cleanse does not. Flash hard counters Ekko's ult as does any heavy mobility effect or proper positioning rendering it entirely useless against reasonably mobile champs or if you can force Ekko to engage on you rather than on him and his clone.
Both champs have problems, but you definitely underestimate Zed while overrating Ekko.