voluntary work is a good way to meet people, gain people skills and be trained for free too! maybe you could do it together?
She is family, be blunt with her and tell her like it is, especially seeing that you get along with her. You're trying to help. She may get upset for a while (hopefully not start a family feud/war) but you are blood.
if s/he asked you directly...I think you should have just told him/her the sort of things s/he does that put people off. Being specific is important in cases where the person is unaware.
That would have been a good "in" to explain some of her hard to take habits. If you want to help now...you might mention her having said that and that you have been thinking about it.
Difficult to answer accurately. It depends on the person's character, his ability to listen and willingness to change ....
Some people are very difficult to understand, then to convince ...
I wish someone would have told me sooner!
Why bother being blunt? Just tell her that she is a real pain in the a$$ to be around. If that hurts her feelings...tough.