Take an unlovable character. Keep all the canon details we know of her. Turn them into a believable, three-dimensional character.
Petunia still isn't always lovable. She does mistreat Harry. We do get to see a reason for that, however. Even though reasons can never be excuses in this case.
But we do get to see Petunia on the one day of the year which is truly hers. We do get to see her through the eyes of complete outsider Wesley. (Mate, I agree on the notion of getting rid of Vernon. That woman knows what's what in the kitchen. And, she's kind enough to cook for you.)
And the way you let us believe in the Severus/Petunia relationship; the beautiful build-up of the story, wow. And the way you show us how they need each other, but without prettifying the relationship, wow again.