I agree that negative rep should not be used just because someone posts something you disagree with. Iirc, when you give rep (and I can't give negative rep myself), it indicates you think the post is informative/help vs. inflammatory, trolling etc. A well thought out, and reasonably expressed post is a useful one whether you agree with the author or not. An inflammatory post that makes broad (and inaccurate) blanket statements or attacks others, undermines the forum even if you agree with the conclusions drawn by the poster.

That said though, I wonder on what basis you can say negative rep is given just because of the subject of the post as opposed to how the content was expressed. Threads or posts don't receive negative rep individually and only the total rep of any given poster is shown. As far as I know, the only way to know negative rep was given is if it was given to you, because only you can see which of your posts garnered the negative rep. Even if you have received some negative rep for a post and you feel your opinion was expressed respectfully and thoughtfully, and really it seems it was just because someone who could give negative rep didn't like your opinion, that doesn't mean that is the case overall.