Could one put a mangler on the responses to suspected bots to poison their data sets with nonsense code.. :/
If you can't conclusively identify bots, you'll end up serving 'poisoned' responses to actual users. Doesn't seem like a viable solution.
We've never had one of these arms races end up with the defenders winning.
They will never respect you, but the second they notice this hurts their business more than it gains them, they will stop.