Every useful code fix that I can imagine also blocks some valid voting behavior. But perhaps a more manual approach would help: if the karma of user X drops by more than Y points within time period Z, flag his account and have an admin review the sources of his karma loss, possibly taking disciplinary action towards the downvoters.
Downsides: takes a lot of coding to implement, requires effort on part of the admins, violates downvote anonymity.
People who go back and downvote every post or comment a Less Wrong user has ever made, please, stop doing that. It's a clever way to pull information cascades in your direction but it is clearly an abuse of the content filtering system. It's also highly dishonorable. If you truly must use such tactics then downvoting a few of your enemy's top level posts is much less evil; your enemy loses the karma and takes the hint without your severely biasing the public perception of Less Wrong's discourse.
(I just lost over 200 karma in a few minutes and that'll probably continue for awhile. This happens to me every few weeks. Edit: I mean it's been happening every few weeks for a few months for a total of only three or four. Between 400 and 700 karma lost total I think? I don't mean to overstate the problem.)