a comment explaining my disagreement or disapproval is more productive
Also more costly and sometimes useless, if somebody else has already explained the same reasons.
doesn't make the downvotee feel bad
Disagreement often makes people feel bad, even if explained (and sometimes more because it is explained).
and I frequently get karma because people will upvote my comment
If all people never downvoted like you suggest, having positive karma would mean nothing. Paradoxically, the worth of karma you get for not downvoting depends on other users' occasional downvoting.
People who go back and downvote every post or comment a Less Wrong user has ever made, please, stop doing that. It's a clever way to pull information cascades in your direction but it is clearly an abuse of the content filtering system. It's also highly dishonorable. If you truly must use such tactics then downvoting a few of your enemy's top level posts is much less evil; your enemy loses the karma and takes the hint without your severely biasing the public perception of Less Wrong's discourse.
(I just lost over 200 karma in a few minutes and that'll probably continue for awhile. This happens to me every few weeks. Edit: I mean it's been happening every few weeks for a few months for a total of only three or four. Between 400 and 700 karma lost total I think? I don't mean to overstate the problem.)