If you come up with another way that is as effective in an ever growing world of bots trying to break anything in their way, I would love to use it.
I've had to pay 100x bills on my monthly quota once too often, and as a hobby developer, I just can't afford trying to fight off people abusing my website every day.
Yes, resorting to fingerprinting is not ideal, but what's better, asking everyone to solve that hard captcha, or only some users?