Currently if someone votes you down you lose say two reputation. on SO where people has 10k+ reputations, 2 rep isn't much (if anything).
I would propose a change of that part of the reputation system, so when you have higher amount of reputation, you will lose more reputation if you throw in useless questions/answers.
Also idea might be to count it more if the question/answers ends up on negative side (i.e. -1)
Possible following simple algorithm might be sufficient:
min_loss = 2; // always lose something reputation_loss_modifier = 0.001; // i.e. one each 100 reputation point negative_modifier = 1.0; // double up if negative rep_loss = ( min_loss + floor( abs(current_reputation) * reputation_loss_modifier ) * ( 1 + ( negative_modifier * actual_post_points < 0 ) ) );