Okay obviously you need to improve on your posting, because I had to read through this topic over 3 times to get what's going on.
So you have a best friend, who's a girl...who's a teacher's pet. I get that. You're complaining about her and about the fact she is one. Okay I get that too. What I don't get is why are you defending her if this obviously bothers you?
I want to make something clear. Anyone who verbally, physically, mentally whatever hurts you, is not your friend. Your supposed best friend is a toxic friend. I've had plenty of these in my life to tell you these are bad news. You've known her a long time, so this is a tricky situation. Talk to her, tell her how you feel. If she causes problems for you, then get rid of her. If she isn't willing to stop hurting you, then this best friend is a worst friend. I used to defend people who were toxic in my life, and I had to stop doing that because I was hurting myself having them around. If she won't give you some slack you'll have to tell her "Best friends do not treat each other like garbage. I have tried to help our friendship but it isn't working anymore. It's over."
If she gives you trouble in class, talk to someone higher than the teachers, just keep persisting about the issue. Eventually someone's going to be on your side.