If anyone can come up with a way to do that they will be a hero, and very very rich. No company that I know of has managed to defeat bots once and for all. It is always a cat and mouse game. They break and ban one, the bot maker changes it. Bot maker makes a new one. Same with antivirus battles.
Unless there is zero way for a player to have input to a game - someone will try to cheat and bot it. Distinguishing between real player input and automated player input is not easy, esp with AI running some of the bots.
They banned almost 300k for botting/cheating in December alone though, if it makes you feel a tiny bit better.
Something else, others cheating, or breaking rules, does not mean Blizzard should not enforce the chat/name rules. Much like cops still enforce speed limits even though detectives are also chasing murderers.
It is actually two diff teams. The Hacks team handles bots/cheating. GMs handle chat/name reports.