I like to keep it simple. 20% or 25% for fair to good or really great, 15% for poor service. I too don't like how people are trying to push this value up. But at the same time I have enough and I don't mind sharing some with a person who has just served me dinner.
You can do it pretty easily by successive halving.
10%, just move the decimal over
add 5% which is just half of 10%
add 2.5%, which is half of 5%
and add 1%, moving the decimal over twice
...of course you either naturally think that way or it seems like an unreasonable amount of work. YMMV.
Personally, I usually take 15% and add a bit depending on how good the service was.