The thing about most karma systems in games is that they fail to get to the point of why people commit evil acts. I don't know anyone who would do something truly evil just because they can. People only commit acts of evil or break laws because it gets them something that they want that either can't be gotten legitimately or because it's quicker/easier than staying within moral boundries. One Good example of a karma system is bioshock. You get more adam if you harvest the little sisters, but you get the evil ending. The only problem with this is that it has little impct in-game, so if you don't care about the story you have no incentive to behave. Oblivon addresses this issue with the detriments of high infamy (not able to use alters, people dislike you etc.) but fell short by making certain quests "evil" quests, punishing players for 100% completion. If you're going to have a proper karma system, then you need to address these issues.
1. You can't have quests that are specifically evil. It makes players disinclined to do all the quests (because they want a completely good character).
2.Making the main quest give "good points" is pointlessly rewarding people for something they would've done anyway.
3. "good points" should be seen as an award, for instance you could have some side quests that offer little reward but the good points, and not every quest needs them. The fighters guild quests from Oblivion didn't need good points because you were already getting paid for them. to make this work, there need to be perks and rewards for high levels of "good points".
4.Don't make karma points just quest based. Have "evil points" for commiting crimes and "good points" for acts of generosity (donations etc.)
5. If you are going to have a moment with a single moral choice, make the evil choice easier to complete than the good choice, otherwise it's just a meaningless "which ending would you like?" button. It needs to represent morality in the real world.
6. There doesn't have to be 1 good choice and 1 evil choice, have several different options.
7. Don't signpost all the different options. In the tutorial quests, have a multi-ended quest that shows that there is more than one ay of doing things, then let them find the different options by themself.