So when you chain a lot of joints together like that with very specific solutions, they can get unstable very quickly. Because each set of joints (and collisions) is trying to enforce a very specific relative angle/position, when they try to correct the bodies they are attached to they uncorrect other sets of joints and vice versa. This causes a lot of jitter as you've seen.
The ideal way to solve this is to build the ship out of a single rigid body. When a piece is added or removed, recalculate where the center of gravity is of the whole thing by doing a weighted average of the CoGs of the individual pieces. The moment of inertia can be calculated by adding all the moments like this: sum += momentOfPiece + massOfPiece*cpvlengthsq(cpvsub(cogOfShip, cogOfPiece))
At that point all you need to do is to offset the collision shapes and add them all to the shared body. Because all of the pieces are added to a single rigid body, you should have 0 stability problems and your CPU load would be greatly decreased as well.
There was a contest game somebody I knew made a couple years back called GwOrp that is similar to yours. He used the procedure I described above and it worked really well for him. http://nehex.idevgames.com/articles/gw0rp_postmortem