I've had a bright idea. While I'd still ideally like to have MD5 support built into the ioquake 3 engine there might be a way I can get it working in the game so I can check how my animations look while I'm working on it.
The quake3 engine uses one model for the legs which includes a tag for the torso/arms model. The torso/arms model has 2 tags, one for the gun and one for the head. I've seen a player model (angelyss from openarena) that got around this by making the entire body and head out of one model and then setting that as the legs model, with the torso tag where the gun should be and the torso model being simple a tag for the weapon, so that the weapon appeared at the right place. While this was clever I think a better method would be to use the torso/arms model to draw the body since this would allow you to still use the weapons tag and the head tag. Having the head model seperate from the body saves wasting polys by building it into the body mesh.
To get things started I've exported the body and tags to upper.md3 and put it into a pk3. Here's how it looks.

It's worked pretty well. The next step is to replace the legs model with a torso tag and position it so that my model is correctly rotated and at the right height.