Really bad comments are not the root of the problem. Simply having large number of mediocre comments crowds out and discourages thoughtful discussion from starting at all.
I'd say:
* create some real cost to making comments
* make bad comments disappear/not display at all with time
* make things less democratic -- to encourage good behavior identify users who have this behavior and make this behavior more prominent programmaticly
Popular comments will make more karma than they cost, so users will still be encouraged to leave comments that will become popular.
It seems that a system like this will be even more sensitive to what community considers popular. For this to work well you'll need to make sure that comment being popular correlates with it being good. To improve on that you'd may need to further reduce inefficiencies (e.g. time-of-day vs popularity) and maybe implement un-democratic measures if "voice of the community" still doesn't correlate with good.
I'd split test this system (and any other change like this). Have some posts that have these new rules in place (this should be publicly visible) and some that don't. See how this affects the results.