If an innocent kills and innocent and then you kill that guy. Because he was innocent, should there not be a smaller reduction?
Yes, it will be smaller. In this case I suppose it's an innocent who has not killed others before.
If an innocent only hits you once and then you kill him outright, you will get a larger penalty. This is inevitable. You could try not immediately going for the kill, dodging/seeking cover. Not shooting is a pretty effective way of proving you're not a traitor. If he is a moron and persists, then you can decide to take the karma hit and defend yourself (unless he turns out to be the traitor), or only try to get away and let him take the full karma hit if he kills you.
Taking an occasional karma hit isn't really a problem. Even 10% damage reduction you won't really feel. Weapons do a lot of damage in TTT, especially headshots. If you get lower than that just by having to kill people who attack you, you might consider playing on a server with fewer morons, or asking yourself if you're doing suspicious things all the time.
I haven't really seen anyone who plays normally get low karma.