Problem is that most retail places are scared to death of bad reviews online and so everyone gets their ass kissed regardless of their situation.

There needs to be room to tell someone their behavior has now crossed a line and you need to leave and do not come back.