It is easier to make multiple models use the same texture sheet. than to use multiple textures, and one mesh to represent different units. The requiem mod, and SotGE ships share many textures. A Sins mesh cannot "switch" textures through scripting (afaik). How sins is set up now each unit is represented by a separate mesh with a separate texture for each mesh.
Tec, Pirates, and planetary defenders pretty much share the same meshes, and resources. However Pirate meshes share some textures with each other. This is something you may be interested in checking out.
As far as making a single hull mesh, and having mesh add ons called for to represent different units.. Aint gonna happen. If you look at the starbase, and structure upgrade meshes, each upgrade mesh is the whole structure with the add on that represents each upgrade added to the mesh. So tech, advent, and vasari starbases have 3 meshes of the whole starbase the only difference is the add ons. It is kind of stupid imo how they did it, but i didnt build the game. Homeworld 2 does the same thing with some units with its module upgrades. If it was possible to have small module upgrade meshes added to a single main hull it would save so much in system resources.