What solved the problem was moving him to another school.
That right there is what you are suppose to do. If your kid is being bullied and the school won't kick out the bully, you remove your kid. Schools are paid based on attendance; removing your child means they get less money. If more people were willing to remove their children due to bullying, schools would start kicking out the 1 bully to keep the 10 kids he's bullying. Parents would teach their kid to cut that shit out, because now instead of just sending Bully Jimmy out the door to walk to school every day, they have to get up early and drive him to school across town. And most importantly, your kid isn't forced to return to be bullied day after day.
"It is better for civilization to be going down the drain than to be coming up it." -- Henry Allen