Definitely using sparkys you would need to split the object up into zones. Even if you had the collision zones following the object around you probably wouldn't notice much of a slow down in your code as I've noticed lately with my free project. All the zones could easily be put into a group and you just check a bullets collision and retrieve the zones number, ie 1 for the head, 2 for the left arm, etc.
I'm not sure if you can do this with limbs but it's worth looking into, if not then you would need some way of making the collision zones fit.
Apart from that, you could use the Y value of the object and the collision vector and compare the height value. +50=head, -50=legs...
Warning! May contain Nuts!