An employee who confronts and contravenes management authority is a menace.
The key to dealing with problem employees who question management decisions is to move quickly. Don't let employee disgruntlement and employee dissatisfaction ruin your organization.
If you wait too long, your good employees will leave, because the work environment may very well become intolerable to them. Even if it doesn't come to that, the undermining of your authority may permanently damage your authority.
After all, if you are willing to let an underling berate you publicly, do you think others will continue to maintain their faith in you? Probably not. Their esteem for you as a manager will likely plummet, and, in turn, their productivity and motivation will plummet as well.
Having said that, don't act too rashly. It's possible the employee had a bad day, or was legitimately upset that something didn't go their way. While it's not ideal, that sort of behavior is human. Time generally heals that wound.
But when the employee bad behaviors appear to be long-term in nature, you need to recognize that your organization has been poisoned and quickly find the antidote.
The antidote that works best is terminating the ill-behaved employee. Get them out the door as soon as you can. The worst mistake you can make is hoping that they will magically transform from a bad hire into a good hire.
Offering a "shape up or ship out" warning is a nice gesture, if you want to go that route. Over time, you'll gain intuition on which problem employees are worth saving.
Part of issuing an employee warning has to involve good listening skills and empathy. Simply start with "The way you've been acting lately is causing some problems. Is there something going on that you want to tell me about?"
At this point, many employees will play dumb. "What are you talking about?" they will ask. Be ready with the details, as in "On this date, you said X. In this meeting, you said Y." Explain the negative consequences of their actions, and make it clear that you won't tolerate the behavior. Don't get into an argument about the details. Keep it high level.
Listen to what they have to say and think seriously if there is a cure for what is making the employee so hostile and confrontational. Maybe shifting their responsibilities might turn things around, for example.
At the end of your conversation, give your warning: "One more time and we will have to let you go."
You've put the ball in their court, and it's now up to them to become a better employee.
Now, what about a scenario in which you constantly are running into hostile employee situations?
In this case, it's time to look in the mirror and see if maybe you are at fault. For example, maybe you are taking constructive criticism as a threat to your authority, making a mountain out of an employee problem molehill.
It's normal to have one problematic employee every twenty hires.
If your hit rate is higher than that, either your recruiting process is flawed or you are.