Here's how it would work.
Innocent A shoots innocent B.
Innocent A is flagged as a jerk for a set period of time.
If innocent B (or any other innocent) shoots Innocent A, the karma penalty is drastically reduced and scaled based on how long ago they opened fire.
If Innocent A continues to fire, their timer is reset for the same amount of time.
Here's a practical example, if we set the cooldown to 10 seconds.
I shoot Ursus, who is also innocent. We both have 1000 karma.
He turns around and instantly kills me within one second of me shooting him.
His karma is only penalized under the assumption I had 0-100 karma.
Let's change this around to him killing me, say, 5 seconds after I first shot him.
His karma is only penalized under the assumption I had ~500 karma.
If Ursus waits 15 seconds to kill me, he would be penalized for my full 1000 karma.
10 seconds is an arbitrary number. It can be set to 5 seconds, which might be better imo.