This will not work. It sounds great, it sounds plausible, even realistic at some level, but this will not work.
Here's why.
The bot operator has more money than you do. If the efficiency of one bot decreases on one website, they'll throw another bot at it, rinse and repeat until your website stops responding because it's ground to dust.
Meta bots are good at doing this, hitting your site with thousands of requests a second, over and over again.
Meta is not alone in this, but in my experience it's the most destructive.
Source: One of my clients runs a retail website and I've been dealing with this.
At the moment the "best" - least worse is probably more accurate - "solution" is to block them as if they're malicious traffic - which essentially is what they are.