I have never given a 0% tip in the United States. If the service is that bad, get the manager, have them fired - but as long as they are working, they should be paid. Not tipping is equivalent to asking someone to work without salary. Tipping 10% is pretty damn aggressive, and the few times that I've done it, it's certainly gotten a reaction.
What people have to understand, is that a "Tip" in the United States for a server == Salary, not some nice additional money. It's how they pay their rent/buy their groceries/feed their children.