I can't say if it's unfair or not. I would prefer every worker to get a decent salary, but no idea how they feel in countries where tipping is widespread like the US. But, if I go to a restaurant in the US, or, Argentina (where tipping is also a thing), then I'll tip, and consider the price of the food to be 10, 15 or 20% more expensive. Otherwise, I won't go, because then I am complicit with the exploitation of the workers.
The only reason they don't get a full salary is because people keep paying the difference with tips.