I find 20% a lot actually.
I think a better system should be: 20% of the price you pay.
And then only 10% or even nothing off the tip you give AND (this is important) you can only tip maximum 10 or 20% of the price you actually paid.
This way sellers can not cheat by making you pay with tips but they do get a “tax-free” tip at least.
I like to tip people, but not if it is also 20% off , why would I even bother to tip then? I’ll just pay a price that is a bit higher.