It is a good discussion topic, but what you talk about is very difficult - if not nearly impossible - to actually accomplish, due to the nature of the blockchain technology. Bots are here to stay. We have to find a way to co-exist.
What you brought up about 'leaches' though is interesting. IMO, there is a difference between wanting to get rid of bots and wanting to get rid of leaches. It is also a very difficult problem to solve, but may be a better objective. After all, if someone wrote a bot to somehow detect and downvote leaches, would having that bot be bad?
The answer to your last question is no. There is plenty of room for good bots, it's the bad ones that need to be exterminated (maybe through flagging and exposure, I'm not sure). Don't bots have their own account that could be disabled via the Witness program or by some other means? I'm kinda a noob at this and just offering up this topic for discussion. Thanks for your comment and Upvote @timcliff .
It would be against the principles of being a witness to exclude transactions from the blockchain. Going down that path would do a lot of harm to the network and token.
Other bot developers could hypothetically develop good bots to counter the bad bots though. There have already been a few cases of 'bot wars' that have played out on the blockchain.
That's all we need - a Bot War on Steemit! I only suggest that Witnesses could help to identify or "flag" the bad bots, not interfere with posting of content. Bots could be banned for innapropriate or bad behavior.