Accidentally hitting someone for 2 damage and teamkilling them doesn't necessarily seem worse than accidentally hitting them for 50 damage and not teamkilling them.
If anything, it should be an automated system based on damage done, with escalating penalty if you keep doing damage.
Like hitting someone once for 20 damage = 20 "griefer points".
Hitting them a second time for 20 more damage = 40 more griefer points
Hitting them a third time for 20 more damage = 60 more griefer points
The escalation resets back to 1:1 if you go a few minutes without hitting anyone.
Once you hit some ceiling you're auto-banned for an hour.
This is roughly what Planetside did and it worked great.
An automated system is bad for 3 reasons :
-Swings go through dead people and you can't do anything to prevent TK when this happens.
-People are extremely stupid and often put themselves into situations where they get TKed. Like those moving right in front of someone right before he swings / shoots, or go behind someone who's destroying a door with a 2h / polearm (and I do see lots of people doing this). It's not always the TKer's fault.
-This could actually lead to more griefing since some trolls would probably put themselves into situations where they get TKed to get someone they don't like banned (and not only kicked like now).