I think the company you work for makes all the difference in those situations. If your company has policies that enable you to help the customer to the best of your ability and yuu know your supervisors trust and support your judgement, then helping resolve issues is not really all that hard. You just have to listen and get to the core of what they really want. Often it's simply validation.
My friend and I have worked in retail and food service for a combined 20+ years in customer service type roles and have a theory about how people act. When they come in obviously looking for a battle, they will only behave as badly as you let them. When you're kind and understanding, they have a much harder time showing their ass.