Here's how that results in a lose-lose for both you and the server.
Normally, if your food does not meet expectations, the best recourse is to let the server know what the problem is. The server can then either have the kitchen resolve the problem or talk to a manager, who can intervene to make things right. The end result is that you end up with food that meets expectations, or perhaps get a portion of the meal comped, and you walk out satisfied.
By being passive aggressive and expressing your displeasure with a zero tip, you don't give the restaurant an opportunity to make things right, so you walk out unsatisfied.
You also punish the wrong person, because it's not the server who is preparing the food. And keep in mind that the server is working a low-paying, often high-stress job, and your withholding of a tip might hit hard.
And perhaps the reason why you've been accosted by servers is that nobody knows the reason why you're refusing to tip unless you tell them. If someone works hard but you stiff them because you didn't like the texture of your burger and didn't bother to raise the issue during your meal, it's not unreasonable for them to assume you thought there was something wrong with their service.