Tell it straight up. Just be nice about it. If you don't, you'll just end up being another ex-(boy)friend, and she'll be none-the-wiser.
For some reason, guys tend to be more brutally honest with each other. Women tend not to be. How guys talk:
"You're being a whiny bitch."
"Dude, stop being a tool."
"Nut up and ask her out."
"Did you get that shirt in the women's section?"
I hear and/or say these things all the time with my guy friends. Of course, for something like the shirt comment, I just ignore it if I like the shirt.
However, guys tend to lie to women also. "No, that dress is gorgeous.", blah, blah, blah. It's no wonder that girls like gay guys so much. They're honest like men, but since they're not interested in women, they're also honest to women.
Now, having said all of this, with a woman you should be a little nicer when being honest. Tell her some good qualities about her that you really like. Then start easing into talking about your observations, about how she can be a bit cold to her friends, and how that can make them feel hurt, etc. Women also like you to relate to them, so talk about how you can also be cold sometimes or in the past and how you tried to improve it, etc. If she really wants to maintain those friendships, she'll have to compromise a little bit. But if those friendships aren't that important to her, then she'll need to find friends that can handle her feistiness. Maybe you even like her feistiness (and tell her that). Of course, you want to support her and be her rock; you don't want to be "attacking" her. If you ever told your friend how you hated someone and then heard your friend exclaim "that person is so nice!," you'll understand how it feels not to really be supported; sometimes emotions make a person just want to hear the support, even if the friend is right. Therefore, it's important to state your opinions appropriately; being honest with women and being the guy that's "attacking/not supporting" her can be a very fine line sometimes. But in the end, you have to be honest.