So CSRF?
The real solution is to use a CAPTCHA, but they're so user hostile, that's the last resort.
And I can kind of agree with the CAPTCHA being the final solution, a question though, you can't implement the Cloudflare style "CAPTCHA" which is heuristics based and not "please click the bus" type?