i think you already know most of these "rules", btw:
non flat polys,
no intersection (will not crash the game but will generate heavy clipping),
verts x face<20,
no convex faces, no colinear verts (sometimes they work but usually not, btw you can use triangulization if you don't want to spend time in stabilizing the mesh, but it will increase pcount)
possibly no double verts/edges (pcs sometimes crash with those)
possibly no convex parts (like for examples engine inlets) that can cause some zbuffer, btw it depend by the sizes of those parts(so engine inlets in fighters will cause more probably problems than engine inlets in capships)
you can use fred or fsview (i'm not able to have fsview correctly working btw) to debug the mesh
pcount per subobject between 750 and 1050 (800-840 usually is good)
around 100 subobject limit (it depends by the version)
overall pcount can be very high, around 9000 i think but not sure, btw modelview32 will not work with pofs with a pcount over iirc 3000 polys
all LODs (pcs convert up to 6 lods, but kazan said fs2 will use only with the first 4, i never tested), rotating objects, destroyable objects, turretts, debris, thruster plumes, shields must be subobjects, hyerachy will tell the game what a subobject is/do
shields must be triangulized and non uvmapped
you will need a truespace version to make hyerachy (for examples check bobbau's manual to pcs, karajoma and ipandrews manuals to fs2 modding)
almost any texture size usually work, but fred will work only with squared textures of 64, 128 or 256 px edge unless you are using fs2open or registry hack (that are necessary for higher res textures)
textures must be pcx of 256 colours
this is ipandrews manual:
http://underworld.fortunecity.com/pacman/106/fs2mods/shipcreationguide/shipcreationguide.htmli don't have links to karajoma's, bobbau's and rampages manuals, but i think those links are in their signs