Another somewhat obvious solution: instead, or before, of blocking, make the edits coming from one of the (too) dangerous IPs go through a reviewal process before getting published; hopefully a very quick one.
In theory this would be against the original Wikipedia ideas, but I saw that it's something already practiced in some cases, and anyway blocking seems enormously worse than requiring a review before publication.

By the way, I now realized that the current Wikipedia is already very different than what I believed, and it works just because it does *not* really allow anyone to make edits.
Before deciding where to go from here I'd suggest you to reflect on what's worse: to forbid anonymity or require reviews; I believe most normal people are more interested in privacy than immediate publication of edits.

Kind regards,
Gabriele