Oh, squirt! I wish there were a hug smiley... ((hugs)).
I've forgotten how old Pud is, but I can tell you that my kids (especially DD) have gone through periods of defiant behavior that have driven me to tears and desperation. I know how it feels to be completely frustrated and out of ideas.
Number one is to make sure that you or your DH is not giving him the impression that you expect bad behavior when he's bored.
Maybe it would help to just drop all the extras for a while--no karate, piano, etc. Go into reset mode. He earns extras by doing the required stuff (getting dressed, brushing teeth, doing homework.) If he is truly bored he will want those extras. Or maybe he will want different extras.
Stop feeling guilty about the public school. You made what you thought was the best decision with the information you had at the time. The behavior issues may not have anything to do with school. Or they may be related to school but would still be a problem at the public school.
Re: spanking--we've used spanking very sparingly, too. My kids do get spanked for aggressively kicking/hitting someone. Snotty/defiant behavior results in instant banishment to their rooms followed by a lecture from me and possible loss of allowance/privileges. YMMV.