This thread discusses two separate issues, but I think there is a common answer: boycott. If a business refuses to respect your right to bear arms, boycott it. If a business refuses to respect your sexual orientation or gender identity, boycott it. And by boycott, I do not mean simply denying them your business; I mean spreading the word far and wide that they refuse to respect the rights of others, regardless of what justification they may claim. Sure, they will get temporary support from like-minded people, but that is usually fleeting. Eventually, it will have an effect on their bottom line.