You can put the command "fixedlegs" inside the animation config file to prevent tilting of the entire character as it runs.
You can put the command "fixedtorso" inside the animation config file to prevent rotation of the torso at the waist.
There is no way to prevent rotation of the head, unfortunately. In fact, if you use the fixedtorso command, the head will rotate twice as much to compensate. Also, if the character gets hit, the mesh parts will still rotate a bit, so it doesn't work perfectly.
For a character like Spongebob, I would recommend that you don't split it at the waist. Instead, I would split it where the legs attach to the body. So the legs by themselves would be the lower.md3, and the entire rest of the body would be the upper.md3. I would simply hide the head tag inside the main bulk of the body. You could make a miniaturized copy of the head and make that the head.md3, so you have something that will show up in the hud.
An existing custom model that uses this setup is Grimdemon:
http://ws.q3df.org/model/grimdemon/
In the case of Grimdemon, it's used so that the head can be animated along with the upper body. You'll notice he has an animation sequence involving grabbing at the butterflies/bats fluttering about his head, and then eating them.
If you use this setup, I don't think you'll need the fixedlegs and fixedtorso commands.