I don't understand the hate on Adcs when almost every champion in the game wrecks them.

Literally about 99% of the champions that aren't adcs have tools directly designed to screw over squishy champions. ad carries in particular.
You will have these champions on your team every single game, all it takes is pressing a singular button, or hitting a combo, or flashing in and using one ability to shut down the adc.
Playing Adc requires properly positioning in every fight, and playing well to be successful. It isn't as simple as "let me roll in and oneshot their entire team!!" If that's happening to you, it's because you let them do it.
"Qss makes cc irrelevant" Yes, one cc. Not the several that are in almost every team comp.
Ranged ad marksmen are necessary in the game, if they weren't in it towers couldn't be successfully taken. The team with the stronger anti-dive comp would win just about every time. Teams would just sit under tower and when the melees/ranged mages etc.. try to take the tower you just kill them for free.
Tl:DR: Adc is balanced due to the fact that almost every champion in the game fucks them over and they are necessary for proper objective play.