in fact, it seems to be easy to make an algorithim that would detect SOME bots for sure...
if blizzard makes a team of experts, that will buy and test the most used bots, visit foruns, download most used profiles, it would be easy to make an heuristic bot detection scheme based on botty behavior. Blizz would then ban SOME bots, and that alone would be scare a lot of botters, and that alone would reduce number of bots to some degree.... or at least botters would get more discreet.
For example: most people will keep botting no matter what happens, but the recent "soft banwave" of grind and PVP bots, made most people avoid grinding with bots.... and migrating to less risky forms of botting (archeology, gathering, etc). Tha does not remove the bots, but a "common" player wont get annoyed if a bot is doing archeology all day long... and blizz then would not lose too many players.
Allowing bots to get their gold without flooding the auction house could also, in some extent, help legitimate players to put their products for sale (if we could keep obsidium shuffle, most botters would not flood the AH with obsidium). It would then be an issue on how to control server inflation.
Blizz is currently focusing on hardcore botters (e.g. goldsellers), and keeping "small fish" alone (personal use only bots) untouched.
If you bot your main and only account while you sleep, and play it by hand at your free time, and does not bother other players, blizz prob wont ban you... for now.
But of course...
BOTTING IS NOT FOR THE FAINT HEARTED... hahaha