Well you could tell the teacher, but then he'd most likely just insult you outside of school where the protection of school isn't an issue.
You could try to fight him, but he could potentially kick your ass, and you'd not only have him bringing down your self-esteem, but everyone else who see's it.
------
My postion on this is just to ignore him, but think about what he says clearly..listening to the words he decides to use and such. Basicly look into his soul, through his words and reactions to different situations, then once you figure it out you crush him where it hurts. For example someone of his demeaner clearly has issues at home. Either he's mentally & emotionally abused by his mother or his father, or he just hates himself...so he picks at those he feels are easy targets. Like i said just use it against him...show him that knowing he says matters, because you know exactly what to say to crush him.
if that doesn't work, just get several of your guy friends to kick his ass ^^