I actually thought that both the Karma system and the Reputation system in New Vegas were kind of broken, although Reputation was better than karma as a whole. They should implement both features as New Vegas had them, but improve upon them.
Specifically, I think Reputation should also take the presence or absence of witnesses into account. If I wipe out a group of Legion scouts out in the middle of nowhere, and leave nobody alive to tell the tale, why should I lose reputation with that faction? Who's going to find out it was me who killed them?
On the other hand, if I march into Cottonwood Cove or other faction headquarters and start shooting the place up, that should obviously make me persona non grata with the faction.
In terms of karma, my biggest gripe in NV was that I got "good karma" for killing things like feral ghouls - feral ghouls!!! - which made having even neutral karma a bit of a challenge.
Karma should be largely determined by how you solve quests. But if NPC deaths factor into it, there should be better distinctions between monsters, combatants, and non-combatants. Killing monsters or wild animals should have absolutely zero karmic weight, killing combatants should provide a moderate amount of karmic weight, and killing a non-combatant of any faction should grant you a heavy negative amount of karma (with perhaps some exceptions for very evil non-combatants).