So long as you're not afraid of a bit of conflict, that is usually a good idea. Most belligerent customers only act that way as a power play over the employees serving them. You'd be surprised at how quickly that shit can get nipped in the bud as soon as someone who is not beholden to their bullshit enters the picture. Once called out on their shitty behavior, they usually just get pissy and storm off.
And I know this from lots of experience. There are a ton of belligerent fuckwits where I live. I've lost count of how many times I, as a customer, have told some belligerent fuckwit to fuck off and learn how to act in public. In every case so far, they just wound up storming out of the place like an angry toddler while muttering obscenities under their breath.
I've also gotten quite a few discounts as well as some free food as a result, but that's beside the point. Most people who act like assholes only do so because they think no one will call them on their bullshit. As soon as it's clear that those around them will not put up with it, they usually back off.