Well, first of all, in my opinion, you should only be able to influence Karma/morality to the good side if you did something good which you didn't gain from, or at least didn't know you were going to gain from. If you just gained good karma from being a mercenary who happened to fight for the good side because they were better paid, or you get good points from defending yourself and killing a bad character, then that is not a moral choice, that is a material choice. What does count as a truly good, as in selfless, act, is doing something when you know you're unlikely to benifit, and especially if being good is likely to bring you to harm. You shouldn't gain good points for slaying a bandit gang. You should get good points if you proceed to disarm and arrest said bandit gang. Evil is simpler though, if you do something bad you do something bad. This doesn't count if you defend yourself obviously (unless you kill someone who was surrendering.) but otherwise, murder, stealing and all the other evil stuff should attract evil, whether there was a reward in it or not.
Secondly, differentiate between personal morality and reputation. Your character may have a conscience, or his/her deeds may simply be kept track of by a karma/morality bar. However, just because you saved a town from an ogre that was 20 miles away and coming to destroy it, doesn't mean that town has any idea what occurred. If they did know, yeah, everyone in that town will love you (well, most of them) but that doesn't mean that the next 5 towns are going to know about it, or about you. There may have been some word-of-mouth, but the impact on your reputation there won't be quite as strong. So you may be an absolute angel in the Gods/your consciences mind/s, but a tendency to do something wrong (or just unpopular) whenever people are around will tend to result in you being regarded as a bad person in towns, making your character a victim of "all of the other reindeer." Equally, you may be a neutral or even evil character in reality, but kill all the bandits on a road or save a city from destruction and people will love you for it, even if it was just self-defence and you had a neutral or even an evil reason for doing it. Making you an anti-hero with popular support or even a villain with good publicity.
This is how I think morality should be done. Just my two cents.