This might be late, but:
For countering ( I'm not an expert with this but, hey ) you should keep in mind that when a hard punch is thrown ,from your right side for example, and that right side arm is fully extended and about to make contact - they don't have any defence on the side the punch comes from. This leaves them open to punches, which you can set up as early as you want if you know they'll punch you.
Also, you can punch their arm to protect yourself and maybe break it - which wont take much force since they'll give it to you. Simply aim for their elbow and if you get there before they put their force into punching you it'll all go straight into that joint and hopefully it'll give way - making the rest of the fight a little easier.
If you have a hard time predicting punches, as well, you can just watch the other guys chest. Most people will turn one way, then turn back to set up a punch so you can just watch which ever side they're turning to in case they turn back and punch.