Very hard to say as there isn't enough definitive information but don't rule out INFJ... I see a lot that looks like a young INFJ. (Especially one that knows she has been labelled as "weird", if that's the case.)
Young INFJs can be very contrary and concerned with standing out from the crowd in their own quiet way, especially if they experience some kind of censure/opposition from others. Can also be very disdainful about the mainstream and what is popular which could account for some of her actions. Are you a close friend or one of her confidants? It doesn't sound like it, if not it could be very hard for you to find out her true motivations.
e.g. Ditching friends who criticized her boyfriend isn't necessarily about not valuing friendships, it could be about sticking up for her boyfriend above all others. I have aggressively put friends right back in their place when they harped on and on about a boyfriend's idiosyncrasies.
Silent overall but then can't shut up if someone starts talking to her? Check.
Sometimes dressing outrageously? Check!
I could go on down the list - wearing the tux to the prom (I was quietly controversial at my prom too, lol), the blog thing, the attitude to problem solving, being hyper when she gets attention, etc. More information needed but that entire list could easily be the behavior of a young INFJ.