It's pretty easy to tell that player: "avertgasdf asdfeg" isn't a bot. For the others though it might need to be on a case by case basis.

For the gold spamming bots:
I really wish they would implement systems like: you can only use /shout every 15+ seconds in the three major cities (or everywhere should they decide to not try and encourage them to migrate to places where people level). They could also do things like prevent people from sending /shout so many times in a minute/hour etc. and extend that to PMing as well.
I also wish they would allow us to turn off /shout in specific areas (like gridania) that way we didn't have to put up with it or take our /shout out of the way entirely.