The weakness of most of these champions isn't range, it's late-game scaling. If you keep running at champs like Akali, Zed, Vi, or Irelia trying to 1v1, you will lose. Winning 1v1s is what they do. What they fail to do is win teamfights and late-game objectives due to the fact that they need to dump all of their cooldowns getting in, getting the kill, and getting out.
However, this is only a weakness if the teams are even. If they are ahead (possibly due to a dumbass running at them and dying repeatedly), then they can demolish their enemies with impunity, but they can only do that if they are huge and strong. That's why it's called "carrying". If you play safe, let them push up, and farm CS under tower while poking them to prevent a tower dive, then you'll outscale them and crush them in the late game. If they get frustrated and leave to roam for kills, shove the wave into their tower to deny them farm for a free back, deep wards, or a countergank.
Macro play is the key to beating assassins. Even if you land every ability, they will beat you in short trades and all-ins. Proper wave management, CS, and teamfighting is how you beat assassins, not the raw power of your champion.