The way you go about it is up to you, but my general rule of thumb is this; for every positive attribute, give them an equal negative one. If she's insanely gorgeous give her a really shitty attitude. If she's just 'pretty' then give her some other equal flaw, like maybe she's paranoid about peoples' intentions and even when someone has a good intention, she has distrust that makes her come off shallow.
Also, think about how it would really be. If she's that pretty and still rather young in high school, she'd probably have a lot of mixed feelings about her appearance. She'd find herself easily able to become popular perhaps, make friends easily or whatever, but she also intimidates people and some might avoid her and she just doesn't really get why. Maybe she has no idea of what it is to NOT be pretty and she befriends someone who's conventionally unattractive and sees what their life is like, and it makes her feel more humbled.
Every person in the world is capable of both being a hero and a villain, and the truth is that we have all been both at some point or another. We're never truly just on one side. Think about famous comic book heroes, even the best of them. Think of Captain America; he was a good guy through and through, but he became so unable to see beyond the black and white of his ideals that he didn't realize he was being a dick to people about those ideals and pushing them on others. It made him feel more -real-.
So who is she, what was she like pre-puberty, how have her previous relationships been impacted now that she's had all these changes, and what does this do to her personality and the way she interacts? Don't make her a victim of the whole world.