My suggestions:
Option 1: Don't have binary karma meters at all. I liked Dragon Age's approval meters, where an action that might gain approval from one character might gain disapproval from another character. However, have those reactions weigh in even if a certain character is not in your current party. In DA:O, during any playthrough other than the first one, I'd choose to take characters with me who'd approve of all the actions that I planned on taking during any specific quest. The characters who were back at the campsite should have also had reactions, even if they were less dramatic (hearing "The Grey Warden gutted some apostate in the Arl's Dungeon" will cause less of a reaction than if you actually SAW the Grey Warden do what she should have done to Jowan in the Mage's Tower). Also, no matter what you do in life, there will always be someone who disapproves of your action, and somebody who does not.
Option 2: Don't require certain karma levels to acquire higher-level powers. Doing so requires the player to either be all good or all evil, kills the roleplaying element. This also applies to party members acquiring bonuses. If a character develops bonuses because they really, really like you (as opposed to, oh, I don't know, THE LIFE OF EVERY SINGLE PERSON THEY'VE EVER LIKED, LOVED, OR EVEN MILDLY TOLERATED BEING AT STAKE!), you make decisions based solely on maximizing karma/approval rather than "What would the person that I envision my Player Character to be do in this case?".
Regardless, the following things might improve the gameplay aspect:
Tip 1: Always have the consequences of your decision be a double-edged sword: You go into some inconsequential village and overthrow the tyrannical sheriff? That's nice, but if he and his men were the only people in the village who knew which end of a sword to hold, the village is now at the mercy of raiders who'll happily burn the village to the ground, while the sheriff at least wanted the village to survive in the long-term. You let that Batarian terrorist go in order to save his hostages? He goes on to murder hundreds of humans in his next attack.
Tip 2: When choosing a dialogue response: Have the actual response text be, word for word, what your character is actually going to SAY (cough cough BIOWARE cough cough).