You are best off rendering your models to 2D so that you can have motion blur, swinging hair, and flexible clothing. Produce all of your animation frames in 3D, and edit them in 2D art package. Now you have choices of collision detection. You can combine different types of collision detection to get the best results. A head is round, and distance routines are best for round objects. The body can be a zone, because a zone is rectangular, and the zone can pass down halfway through the legs. A grab is a stop-motion animation. Press grab, check for distance from body zone, and check that opposition is in a grabable pose. That's basically it....
You can ignore arm, and feet collision altogether. Now that you have areas of contact, you need to find out what is passing over those areas. You can position sprites over each hand, and foot, and you can place them to set positions for each animation. You could make an editor to do this. You would look at each frame individually, and then drag the sprites to their positions with the mouse, then store the positions for each frame. Hide the sprites. Now you just check if a sprite is in a zone by looking at the sprite X/Y position, or its distance from the head. You could divide the body zone into 3 or four parts if you want, to make a more realistic reaction to a punch.
The 3D version would be similar. You could use limbs instead of sprites for X/Y coordinates.