I have learned that there are a few other things too look out for.
The first is other Botters. There where many times that I would log on, decide to go to Uldam for some herbs and ore. Before I start a botting rotation, I check to see how many players are in the zone. I would usualy see 30+ toons in the zone, a but a few where over the zone's designated level. After a couple of minutes monitoring my bot, I would run across several other botters using the exact same profile. Huge flag to me, And I would leave to zone and go somewhere else. If the area is overcrowded with other botters (You know that we all can spot other botters) using the same profile, LEAVE the zone. I see more players get reported because of overcrowding than any other reason.
If you want to be even "Safer", take the 30min, and lean to make your own routes. this is extremely effective on preventing over crowding of a zone.
There are so many other things that you can to. The more human your bot looks, the better chance you have to remain undetected. For me, this means always contesting a suspension or ban. I've been banned for 4 hours before for spamming, i contested it, and didn't win, but most human players would be pissed as hell if they are put into "timeout". I wasn't even a botter then, and I was pissed as hell, even though I had apparently broken the ToS.
And to the EULA spot about the spy software, that is a crock of bull honkey, Blizz has already been sued for that before, they wouldn't risk it again, especially since they lost the frist time, and there is now a precedence set forth by Blizz for over-stepping the Privacy Laws.