before edit: Value of vote = Log[base:TotalUserKarma](UserAvgKarmaPerComment)
after edit: Vote Value = (Log[base:TotalUserKarma](AvgUserKarma)) * (Log[base:(25)](ThreadTop50Rank))
another edit: Vote Value = (Log[base:Median(AvgUserKarma)](AvgUserKarma)) * (Log[base:(25)](ThreadTop50Rank + 1))
EDIT: added a +1 to prevent a 0 value for the #1 thread. (unless you actually want votes not to count for the number 1 thread, in that case you can just pull out that "+ 1")
This would reward contributors with higher relative average karma per comment. If you have 0 karma your vote isn't worth anything and if you do have karma but your average is only 1, once again your vote isn't worth anything. You have to consistently contribute useful material to have a say whether or not someone else's material is userful to the community.
This seems to be a decent reflection of social circles in real life.
Try it out on users you think contribute very little and see if it is effective. Naturally, I don't have that data so I can only speculate.