There really isn't any solution...
As for the bots: captchas are often easier to solve for bots than for humans, and e-mail verification or blocking is no hurdle either considering they can just create a thousand new dummy e-mail addresses in a second. I think people generally underestimate how automated these things are. Any solution that requires considerable manual intervention (e.g. blocking mail addresses) is no solution at all.
As for human spammers, all I can think of is manual verification. On my site, I have an additional profile question that new members need to fill in, where they have to write a sentence or two about why they are interested in joining the site. If you ask people to write something specifically about the topics of your site, it makes verification easier. Any registration that writes nothing, or some nonsense, in the field gets instantly deleted.