Right now, we require a verified email address to edit/vote and we remove the email address when we want to prevent someone from editing. There are a couple of problems with that: Removing the email address presumably means that things like the forgot password page won't work and there's no way to communicate to the user why their email address keeps vanishing.
One idea would be to allow marking the email as unverified separate from removing the email address, and show a message to anyone with an unverified email address. The main problem there, I suspect, would be distinguishing people whose emails were marked unverified for poor editing/voting from people who've simply changed their email and not yet verified it.
Another idea is to have a special user flag, which, when set, would prevent users from editing/voting until they've visited a page which explains why their account is currently restricted. The page would have a continue button which would unset the flag.
Neither of those would stop the user from fixing their account and continuing with their bad behaviour, but I'm not sure what the next step would be. We could add something that prevents editing/voting entirely, but what is the process for removing it again?