Not everyone should have a gun. Some people have unstable personalities. However, everyone has a right to a gun. The 2nd amendment guarangees that in case no one else is there to defend you, you can defend yourself. Criminals will always find ways to break the law. Do you think they are going to abide by having their weapons confiscated?
In the case of a privately owned business, they should not. Even if that someone is prejudiced, racist, etc. and it isn't right, if they own the business, they have a right to accept or refuse any customer. The customer is on their property and has to follow their rules.