i personally like particle trails for there 3d apearance, as an alternate to 2d bitmap trails. im not too sure how efficient the existinhg freespace particle code is. if it is too huge a factor on performance then it copletely trhows my particle ideas out the window (unless the particle code is seriously optimized).
i think ships in freespace are too slow to have 1km long smoketrails look good. in space smoke scatters out and fades away really fast. so the ship would have to cover
of space really fast in order to make the trails that long. remember that WW2 fighters fly in an atmosphere, where pressure differences are much less and smoke fading is slower. ms combat flight sim 2 has some nice smoke effects.
an idea of rendering paricle based object is to have a simple single object pof file to use as a bounding box. the geometry is not renderd, and is only used to specify where particles should apear. particles are rendered in random locations within the bounding object. particles may or may not bove around within the box depending on the effect you want. when rendered the effect should apear to have some depth. making all particles transparent would be too cpu intensive, so only particles that are near the edges of the bounding model would be transparent.
in the tables you should specify a bounding model, number of particles, particle effects (ani, bitmap, or an rgba value for single color particles), particle size, particle movement (0 for none, higher for more), and opacity scaling (how much of the effect is transparent).
also particle beams, thruster plumes (you could actually use the flame's submodel as a bounding object in this case), and missile trails could be done. for beams and trails you could use the same values that determine a 2d object's size to determine a 3d area that particle effects should be rendered.
also a few other flags (similar to particle spew) could be used for more complicated effect like railgun trails and shotgun blasts.