You mentioned that you are fighting for your honor, and that this started when he called you and asshole. And you said to try and not talk you out of it... but, regardless of what insults were thrown, you shouldn't fight. You shouldn't have insulted him back, and you should have ignored his first insult. But it escalated, and got so bad to where you feel you need to fight to solve the problem.
Why not apologize first? Sure, your classmates might look down on that, but once you're done with grade school, nobody cares. It will not make you any less of a person to apologize for insulting this guy's weight. What others think of you for backing out of a fight and apologizing instead does not matter. I will say that I don't know the full situation; where you live, what it's like there, etc, but at the very least, don't put yourself into a position where you need to fight again. They are not a good solution to a problem like this.
I can't condone a fight for something like this, but if you're going to do it anyway... watch this video. It shows you how to punch without breaking your hand, and to actually do something. My masters liked to say spin + speed = power... and, that's true. This is how I learned to punch, and it works. Never leave your arm out there after you punch to give him an opportunity to grab you. Keep moving. Don't go for flashy; stick to the basics. Remember that your footwork is incredibly important. If you try to throw a punch and your feet are all over the place, it will be easy to get knocked to the ground.