In order to eliminate bad validators very quickly while giving honest validators also a chance to mess up a few time, I propose to use a non linear slashing calculation.
So instead of a fixed 10k penalty, we could use:
slash_amount = a x (cruelty ^ n) + c
with:
a = 1000
cruelty = 3
c = -1000
cruelty can be adjusted for harder/softer penalties.

n starts at 0 and increment for each slashing.
That gives us a mercyful penalty at first:

n=1 => 2000 (first slashing)
n=2 => 8000
But also increase then very fast:

n=3 => 26k
n=4 => 80k
n=5 => 242k