The best thing to do, for me at least, its to simply remember that unless I'm a member of the said group not to say anything that could be misconstrued as an insult. I don't consider it a problem to be mindful of other people's feelings. Think of all of the people in this world who use the word `retarded' to describe someone or something. There's a descriptive word we could do without because it's meant as an insult of course- and how on earth anyone can use that word and not realize they could be using it in the presence of someone who has a friend or family member with a learning delay is beyond me.
Some people defend their words by saying everyone is too sensitive therefore they have no intention of changing how they speak. But, is it really so hard to try to see how certain words might feel to you if you were in the other person's shoes?
P.S. I didn't read your post in which you used the word transvestite, so I can't comment. But if you felt attacked I think the way people talk to someone about why word upsets them can make the situation worse if they aren't kind and respectful in explaining why the word is not right. A person might not know they said anything wrong and attacking them for doing so only causes humiliation and embarrassment for the person rather than helping them understand why the word was the wrong choice.