Flak/Laser Turrets:
Create the base of the turret and name it turretxx-base (the xx is the # of the turret). Glue a light to this as a sibling and name it turretxx. The next step is to create the barrels and glue them as a child to the base/light combination and title the barrels turretxx-arm. Glue this entire combo to the hull as a child.
Important:Make sure that the axis for both objects are centered in the base.
Beam/Missile Turrets:
Create the geomitry and glue a light to it as a sibling. Call this combo turretxx and glue it to the hull as a child.
You can do it that way, but Freespace really doesn't look for that turrret-base tag anyway. I duplicate what is used in

models; glue the barrel with a local light, calling the barrel turretarmxx and the light H_turretarmxx (that is what the original models use, or at least that's how they got converted, so that's what I use) Call this combined object turretarmxx, just like the submodel. Then I make the base (turretxx) and another local light (H_turretxx), and glue those things together as siblings with the turretarmxx group. Then name that group turretxx, same as the base. Freespace recognises this perfectly well, you just have to set the rotational submodel to turretarmxx when assignigning the firing points. Oh, and dual rotation turrets should always have a normal of (0,1,0) or (0,-1,0) or they do strange things in the game. So make the turret point up.