The companies behind the games can't be expected to handle every single instance because there will always be exploits, and with new "fixes" comes new ways to get around them. They can try to put out patches and more sophisticated cheat detectors to render older scripts and cheats unusable, but that will just make people step it up. Most of the responsibility rests on the server owners and the server communities. Screen recording is very easy these days (and for source games you only need to know the console commands for demo recording). You can easily get the user I.D.s of shady players through game ranking systems like gameme, or, again, through console commands, as PC is the platform of choice for FPS games.
Thankfully, it is not too hard to tell the difference between a cheater and someone just having beastly skills since most aimbotters are [******** retarded at making it look legit, operating under the presumption that nobody is watching from their PoV, recording their activities, or that there is nobody who can kick or ban them. When some people are called out, their playing style changes dramatically which is pretty much a confession. Most of these cheaters are novices when it comes to using aimbot, speedhack, wallhack, etc. so they use them recklessly, either due to being too stupid or to see how fast they can get their asses thrown out by an admin or the console.