I've thought about this a bit over the years, and this is how I would do it...
Firstly, each limb on the fighter would need a radius, and a database of which limbs are connected to which, standardised of course, so you always know which limb the right fist is.
Imagine the right arm, shoulder limb, elbow limb, to wrist limb and hopefully an extra limb right in the middle of the fist. The shoulder to elbow would taper down, as the radius on the shoulder will be bigger than the elbow, which would be bigger than the wrist again. By giving these limbs a radius you can guage the radius with interpolation - so you would be able to work out the position and size of the limb at a given Y height.
If someone is kicking, then their foot limbs could be checked with the interpolated radius and position to detect a hit - but it would be fairly accurate, more than adequate for collision detection. So if you imagine the fist is actually a disc with a set radius, heading towards these other discs made by interpolating the limb positions and sizes for the fists Y height.
Each fighter would need it's key limbs specified with a radius, but then it can all be contolled with animation, animate a cool kick, and a cool kick you will have - connected very accurately with the opponents.
This technique has quite a convenient benefit, in that you will know which hand or foot hits which limb - and could have different animations, but the nature of this technique means that even if the enemy hunches over after a shot in the pills - you could knee him in the face. Makes for a very dynamic fight engine, and all for the cost of some interpolation and distance checks. It would probably be advised to have some extra limbs, to ensure that the right areas of the body can be padded out etc. But say you add a limb for a nose - if you detect a hit on that, you could shift that limb and affect the shape of the nose - actually break it right there, dynamically in front of you. Same goes for eyes and jaws and stuff - change the texture to suit a blackened eye, distort limbs by offsetting or rotating them to show broken noses and jaws.
Could get violent!