That's the way I handle it for the couple of times I've utterly detested the service. No tip means I'm just cheap. A penny means I'm making a statement. By the way I always carry enough cash that if I'm going to make a statement, I'm not giving my card number to them.
Plus, I can guess whether a waiter is gay but unless he is giving another waiter a BJ under my table it is not going to affect the tip.
I’m in a restaurant for good food and conversation. If my waiter/waitress shows up with metal posts stuck all over their face or tattoos like a San Quentin convict, I have no problem leaving. If I get a flaming fag, just may do the same thing - it’s my choice.