I would say it might even be reasonable to have the collision envelope be restricted to the root prim: avatars use a collision ellipsoid, and for vehicles you could do the same thing... define a collision ellipsoid in the root prim and call "llSetStatus (STATUS_PHYSICAL_SIMPLE, TRUE);".