I know this sounds trite, but sometimes the best thing you can do is blatantly ignore these types of people. She thrives on the reaction she gets from you and the negative attention it draws. If you can, pretend you didn't hear it. If she says it again, pretend again. At this point the other people in the room are going to be like, "Oh good gracious, Aunt Bitterhag is a horrible woman." It will take an enormous amount of self-control, but try to look at her with absolutely no expression when she repeats it for a third time. I can almost guarantee that she will start to desperately try to dig herself out of the hole she's in, and if you can get to this point, it will be quite amusing to watch. Without acknowledging her, turn to someone else and say something completely unrelated like "Hey SIL, would you like to come into the kitchen with me so we can count how many grains of rice are left on the plates?"
OR, find a kindred soul at the party and make a friendly "bet" beforehand. Bet her a milkshake that Aunt BH is going to make some comment about your weight. As soon as she says anything, say as loud as you can, "Oh Fun Relative, you owe me a milkshake!" And Fun Relative can say, "It's a good thing we didn't bet our favorite makeup brushes" and you can both dissolve into laughter like giggly 12-year-olds. Aunt BH is going to be left out of the joke, and that will drive her nuts.
I find that this approach works better than any quick comeback or serious reponse, because again, it robs her of the attention she so desperately craves.