Jeff Starr has this plugin: https://wordpress.org/plugins/blackhole-bad-bots/
It adds a (hidden) link which is also blocked via robots.txt. If a bot is trying to crawl this page it knows this is a bad bot and blocks the IP address.
The problem is, that it is not compatible with every caching plugin, because it needs to fire some hooks which are not fired if only the cached HTML is shown.
See https://wordpress.org/plugins/blackhole-bad-bots/#installation for the problem description
and https://plugin-planet.com/blackhole-pro-cache-plugins/ for the list of compatible plugins.
Let's test it and hopefully we can make Cachify compatible.