His weakness definitely is not the laning phase, but I'll cover that later.
Zeds major weakness is his team fighting. But to be more specific he is weak to certain team comps rather than team fighting in general. Let me explain. In team fights he excels at diving onto a squishy target, blowing them up, and getting out to attack a safer target. He is very squishy himself though. So if he can get CCed in his combo, he's going to get blown up quickly. This makes him pretty vulnerable to point and click or AOE instant CC. Champs like Lissandra, Vi, Annie, Maokai, Sona, Warwick, Galio, Amumu, etc are bad news for Zed. I'm not saying he is helpless in these scenarios, but he definitely needs to keep track of when these things are not on cooldown and when its safe to go in. Even things like a well placed Soraka silence can get him blown up instantly. So as cliche as it sounds, Zed is very weak to hard CC because he is a squishy target that needs to be in the enemy back line to be most effective in a flat out 5v5 team fight.
Lets move on to the laning phase. Theres not a whole lot of champions that hard counter him per se. The real problem with Zed kicked in with the nerfing of mana regen. Traditionally, a lot of mid laners would build Chalice/Grail even versus a Zed just so they could trade back with Zed equally. The nerf to mana regen was when we started seeing Zed become a bit oppressive again. AP mid laners became completely blue buff reliant to be able to harass as much as Zed without going OOM and making themselves vulnerable. The changes made it so Zed could poke down enemy laners more efficiently and they couldn't trade back as often. Another indirect buff to Zed was the removal of DFG. AP assassins could match, if not surpass his burst. So mid lane became a game of who is going to misstep first more or less. If Zed went ulted in for a kill and ate a charm to the face from Ahri, he could just as easily have the tables turned on him (remember, this was when Ahri still had damage amplification on her charm). Zed vs LeBlanc was more or less a skill match up and whoever could juke the most abilities usually won. I could go into how more lane matchups worked, but the key here are these two points. 1) Mana regen nerfs made it difficult for AP mid laners to harass as much as Zed. 2) The removal of DFG removed a lot of ability to burst him back, making his all ins and overall laning safer.
There is one very common item that does limit his burst substantially in a mid lane match up. Of course that is Zhonya's. Popping Zhonyas right before the animation for his ult ends results in the cooldown of his ult being eaten, but the death mark is not applied. Thus making his ult useless. Well, not entirely useless, as the cooldown for Zhonya's is traded for the cooldown of his ult or if the enemy is forced to pop Zhonyas in a vulnerable position where the rest of his team can follow up. This does limit his burst quite a bit between not having the death mark applied and the enemy picking up some armor at the same time. This leaves Zed especially weak to combos like Ahri mid + Lissandra top for example. Zed has to dance around the cooldowns for both Zhonya's and the CC from both champions + whatever CC the rest of the team has at the same time. QSS and Cleanse also scrap his death mark so he can be left as an assasin with no really appealing target. This is kind of a worst case scenario for Zed. Team comps to completely shut Zed down dont really pan out too often like this in soloQ. There also more than 5v5 teamfighting going on during a game, which brings me to my next point.
Zed is amazing for split pushing, 1v1s, and for making picks. 5v5s teamfights dont happen all the time in a normal game. Supports go out to ward, people face check a death bush, people get caught out, split pushing, farming, etc. Zed is one of the best split pushers in the game and great for making picks. He has great waveclear and a very strong 1v1 potential which means if you send just one person to deal with him split pushing a tower, you may lose that member of your team. So the choice is to devote more resources to deal with him which leaves the rest of the map vulnerable. If Zed is split pushing top, and you send 2 people to deal with him, now you have a 3v4 in the mid lane which is dangerous for obvious reasons. If the rest of Zed's team has decent hard engage, you might be on the losing end of a team fight and lose towers/inhibs/dragon/baron. This can also work against his team if you can force a 5v4 fight with Zed in a side lane, not able to join the fight
So to summarize, Zed has a lot of strengths going for him at the moment. A few more strengths than weaknesses. His biggest weaknesses are teamfights against certain comps or being caught out and blown up himself with instant CC. I would say high skill cap is another weakness, but if he's a competent Zed player, that's not really going to help you much. The nerfs to mana regen and removal of DFG were indirect buffs to Zed. He is not by any means unbeatable. Zed is one of the more difficult champions to use. There are many, many different skill levels of Zed. If you are up against a competent Zed, you may be in for a bit of trouble, but just remember he is not unbeatable. Players at all skill levels still make mistakes. Zeds high skill cap means that even good Zed players will inevitably make mistakes. Recognizing and exploiting these mistakes will make you a better player. Punish him when you can. He is still a bit vulnerable being a melee champ. He can't use his abilities to instantly clear a wave at low levels so he will have to go in for some auto attacks. If you know his clone is on cooldown, don't be afraid to harass him. And above all else, know when to back if he pokes you low. Zed is definitely not the champion you want to feed a few early kills. Your team will agree, trust me.
Thats about all for me. I'm sure I forgot a few things along the way but hopefully this gets you pointed in the right direction. Sorry for the typos, I'm sure there's quite a few