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.
I disagree--people say this to picked-on adolescents, and as one of those (a picked-on adolescent), I can tell you that it just completely isn't true.
What *IS* true is that the bully is thriving on SOME reaction, but it's not necessarily YOURS. She's getting off on the idea that she can say something rude and get away with it (which actually has nothing to do with you specifically; you're just the available target).
Or she's getting off on the idea that other people around are reacting--they're squirming or uncomfortable, but they don't stop her or object to her--which makes her feel powerful.
Other than attacking back every time she starts, no matter WHO her target is (which is the verbal equivalent of punching the bully back), nothing is going to work.
And by attack back, I do mean a direct, frontal assault: "Aunt Bitterhag, that's enough. We're tired of listening to you complain about the coffee maker--it was a nice present, and if you don't like it, the least you can do is to keep quiet about it instead of subjecting us all to hearing your repeated complaints. You're ruining the Christmas mood. No, I mean it, that's enough."
And "Aunt Bitterhag, that was a mean and nasty comment about my weight. You need to apologize this instant--I can't believe you said that, and it is not appropriate. I'm waiting for an apology."
All the more points if you step in when she's being unpleasant to someone ELSE. Imagine that she is a 4yo, and then channel your Inner Day-Care Worker.
...At the same time, I wonder if calling her Aunt Bitterhag is helpful. Isn't that somewhat the same as her calling you fat? Why do you get to decide she's bitter, and a hag, rather than a person with some flaws? Even if you're not calling her face-to-face, this seems like the opposite of proper etiquette to me. I know it's probably easiest to vilify her, but I don't think it's the best choice.
I think it absolutely is different because the name-calling is not being done face-to-face. That *IS* what Etiquette is. Etiquette doesn't care what you think, and it doesn't care what you say in private.
(Character might care, as might Kindness and Moral Development. Even Tactics might agree with you that while it's easy to vilify her, it's not necessary the best choice. But Etiquette doesn't.)
(and while this woman is horrible, I have to tell you--I'm really sort of shaking my head over this "she is not related to you or your family" / "stranger that your Uncle at some time dragged in" idea. I married my husband, and therefore I am now a member of his family too--that's what marriage *is*. I would hate to think that I would be immediately labeled "not related" to any of his relatives if he passed away!!)