Walt
Hmm... well you could change some things there though to make it easier to balance:
1+2+3: Unfortunately armour and roof turrets will always be an issue...
However! you could force the part to be connected to a part like a heat vent, that MUST be placed on the outside of the ship.
Possibly the part acts like a target designator laser, and if destroyed makes the roof turret useless and unable to fire.
Essentially, it could be implimented like the railgun launcher is.
But instead of accelerators, its heat vents, or something else.
4: you do not need to make them have 360 degree arcs, as many turrets in real life cannot turn around the whole ship.
Maybe make them 200 degree arcs, so players have to manoeuvre their ship to let all their weapons broadside a target.
Possibly this also makes players decide whether or not to make their turrets face fowards of back, or left of right.
5: As i said for 1, 2 and 3, you could make them require an external part to function.
Maybe a cannon that fires a sticky target flare, that the roof turrets then shoot at once it hits an enemy ship.
Also, maybe when a roof turret explodes, it causes a HUGE explosion... making them a glass cannon type weapon.
+to fix the "internal space" issue, make roof turrets quite big, so people cannot spam them.
OH!
And one last bit, is that utelizing the "SourceShipCollisionDelay", you could make it so that the shot hits the shooter within a certain radius, to prevent it from being placed 20 blocks within a ship.
Edit:

HMS Bellerophon, or just any other dreadnought class ship, is a good example of why not all turrets can rotate 360 degrees.
Essentially, if you could find a way of blocking a turret's rotation, roof turrets would need planning and fore-thought to work properly on a ship.