You know, sometimes I think the best way to approach situations like this is to actively engage in said activities with the other person. Face it, there's no good way to say, "you stink, clean yourself up more."
So perhaps going on a spa day together or getting a makeover and all that jazz together could be the impetus. You could lay on the positive attributes after that so that she realizes that going the extra mile makes a big difference.
Sometimes people just don't know how bad they are or how much harm they are doing to themselves in the dating world. So they just need to see how things could be different.
I think whenever she brings up the topic again, you should ask her if she knows why she doesnt't have a bf... Do you think it's them? Do you think it's you? Is there anything you could do to improve this situation? And start from there, offer your help, be nice and don't be judgemental. If you're nice enough she will get it.