"Fix" him? Oooohhh... that makes me so mad. I have a feeling you went pretty momma-bear on them, yourself. We don't need to be fixed! What we need is a good place to learn, people to teach us, and a world that lets us do what we're good at and be ourselves.
If it makes you feel any better, I had pretty much daily or multiple-daily meltdowns when I was a child, and my parents used to pin me to the floor (those were some of my worst memories ever; don't restrain a child unless you absolutely have to because it's too dangerous not to... minor injuries don't count; we're talking running into traffic danger level here!--Restraint makes a meltdown worse in almost all cases). Nowadays, I can predict and prevent them most of the time, and when I can't, I have enough warning to find a place private where I won't embarrass myself. I haven't had a public meltdown in ages; and even when I do, I either curl up and cry or just become unresponsive and shut down. "Violence" hasn't been a problem since I was in my teens. (I put that in quotation marks because it's not the same thing as wanting to hurt another person or yourself; it's born purely out of frustration and mental blue-screen.)
You're going to be the strongest person on your kid's team for some time to come. School administrators want to run their schools smoothly, save money, pacify teachers' unions, etc. But for you, your child is your only agenda and that means you are going to end up fighting with them a lot. It can't be prevented. Gradually you'll teach your child to fight for himself; but until then you'll be up against the school system. Better get in shape; it's a tough race to run.