I recently read a post by someone, a parent of an autistic child, who was angry because a colleague was using the term "Autism" in a derogative way. He pointed it out to the colleague but the colleague kept using it in the same manner. The parent was angry and wanted advice, this is what I said:
I understand your emotion and I have met many like this however my approach is different. First, I see them as ignorant and once I see this I do not have to emotionally react to them. It is like a dog that barks at you as you pass by your neighbors house. You can stop to get angry with the dog but it won't make a difference. In the end you will only waste time and probably it will add to your stress level. Once you did the job of educating him then that is it, you cannot change someone who wants to be an ass and at the same time you do not want to make it so that every time you see the person negativity fills your blood because in the end only your health will suffer.
I fully agree, there will always be people who are ignorant to it, but who feel that they still have a right to their say and to insult others.
Try to educate and if it doesn't work then don't waste any more of your precious time on them is my policy too.