As the saying goes, holidays are a time for family, and sometimes the get-togethers can be extremely stressful. I think most people have a few less-than-favorite relatives that aren't easy to deal with.
Some people just do not think about others feelings before they speak, and/or they do not care if they are rude or downright mean. These people can be especially hard to deal with, but, just remember a few things and the hurt will go back on them instead of onto you.
People who act rude and disrespectful are usually not happy with their own lives, so they project that unhappiness onto others by saying mean things. For whatever reason they get the false sense that it makes them feel better, when in reality it only hurts them more.
The key is to not let it bother you, let the stress of it go back to the person who said it. Since they are trying to hurt your feelings, if they don't then they are slapped in the face with the fact that they look like a complete idiot for being mean in the first place.
There are many people who let others control them in this way, by letting opinions rule what they do and that is NOT the way to be. You should decide what makes you happy and what doesn't, and you should decide what clothes you like and what you don't, etc. Don't let others run your life.
The best way to get back at someone like this, is to just be happy with yourself. That is exactly what they don't have and probably why they are being mean in the first place.
If you just can't hold your tongue, then simply say something like, "if you can't say something nice, don't say anything at all", or "please stop being disrespectful".
Best wishes to all of you this holiday season and may karma find it's way to those who deserve it.