I play Yasuo myself frequently, and his early game is actually worse than many other champions'.
It isn't as terrible as Poppy's or anything, but the truth is that most mid laners have an advantage over him before he starts getting items.
He heavily counters skill shot mages, but that is pretty much it. Yasuo has terribly low base stats to compensate for his double critical chance. Most assassins or burst mages can 100-0 him in one rotation.
Yasuo's ultimate can definitely be annoying to deal with given its range; however, the trade off for it is that Yasuo can't ult whenever he needs to. In lane, that is a huge advantage for you. It takes Yasuo ~12 (scales down as he gets more AS) seconds to charge up his own knock up, in that time, he is essentially down an ability. Use this window to all in him.
Just like how Yasuo can magnify his combat stats with just a bit of a gold lead, if he is denied gold, Yasuo falls behind and becomes a non-factor.
In mid lane, I find that AP assassins are the most effective against him since he has flat 30 MR. Diana for example absolutely destroys Yasuo. Akali can steamroll over him once she hits 6. LeBlanc is also one of his easiest counters.
With particularly LB and Akali, the way their kits are designed counters Yasuo. A low damage mark brings down his shield followed by high on demand AP burst damage. Additionally, Yasuo's wind wall is bugged to not block targeted spells at close range, which robs him any chance of escaping from the engage.
The only thing you have to watch out for is running out of mana. Don't overextend in your lane and you will be fine.
In the top lane, almost every melee champion counters him. To name a few: Jax, Riven, Cho'gath, Garen, Darius, Hecarim, Ryze, etc.
He is really only good against Gnar.