For repeat offenders, I suppose the only thing to solve the problem would be banning them.
That's another thing I forgot to mention. It's not always "a few people causing lots of problems". Most of the time, it's a bunch of users each "doing their own thing", but combined it results in the outcome I described.
So banning won't accomplish anything. And it wouldn't be fair to the users, as each individual poster didn't really do anything wrong.