The right way to balance Yasuo
Right now, Yasuo is an assassin-esque champion that can also melt tanks, and can occasionally engage a fight. That's too many roles for one champion to have. On paper, Yasuo should be the "anti-projectile assassin". Assassin meaning he relies heavily on abilities rather than mostly auto-attacks. Having engage isn't necessarily OP, but having the DPS to be a carry and tools to be an assassin is.
To balance him, just reduce his insane DPS, and make him more reliant on abilities like any other assassin. ^This^ is my main point, anything else following this is debatable.
One way you could do this would be to remove (or maybe reduce) attack speed scaling from his autos. Jhin has no attack speed scaling on his autos, but he's still relatively balanced (except maybe his ability to outsmite junglers). Imagine doing the same to Yasuo; change his passive so that his crits deal normal damage, he still gains double crit chance, and he gains no attack speed from items (or maybe just reduced). He'd initially hit harder, but then you'd have a window to fight back. During that window, he should have the option of A) using Wind Wall, B) dashing away, or C) hitting the enemy champion. Right now, C is far far too strong. Since he couldn't attack as much, dodging a Q would be much more impactful. And if he needed a damage buff for whatever reason, they could just increase his Q damage, leaving his autos still weak.
Yes, I understand that he's supposed to be a melee carry and not an assassin, but he, unlike any other melee carry, has tons of defensive tools and the option to disengage. Many assassins have the same qualities, and that's what he should play like; unless, of course, those qualities are removed, but that's not a realistic balance option, because it would change the champion at its core. Reducing his amount of auto attacks wouldn't remove the "melee carry" mentality from him, because his cooldowns are low enough to still be a reliable source of damage.