Number of suggestions to solve it:
1) Put a real value on user accounts. Charge $5 for them, or otherwise make them hard to get -- perhaps invite-only from users with a certain rating -- so that they are felt to be valuable.
2) Active editing. Assigning a numeric value to everything a user does only goes so far: eventually there has to be a consequence for their posts (greater than it going grey). It's OK to ban users who are all noise, after a fair warning.
More controversially:
I think threads re-ordering themselves make it incredibly difficult to follow a conversation. Because comments move around, when you return to a thread you either have to re-read or re-skim multiple comments that you've already read. The alternative is to treat threads as one-shot jobs. Visit once, don't come back. That's death to conversation, and conversation is the heart of a community.
It's this reason, I suspect, people don't often post meaty comments in threads once they already have a good few comments in them -- they know they'll never get the traction of upvotes to stay near the top, so why bother? The fix:
3) Flat threads. Don't rearrange, don't indent. Show scores if you will, but don't order based on them. The longest-lived web communities, the ones with the best conversations, from the Well to Metafilter, all have this in common.