There are geometrical properties that let me tune how hard certain combinations will be to find, statistically.
EDIT: Also, almost all benefits will come with some kind of penalty or incompatibility. It will be impossible to build a perfect ship that does everything well. Instead, you will be able to easily build a ship that does one very narrow thing rather well, one thing badly, but generally sucks otherwise. Also, you should be able to make something that does 2 things above average, one thing non-sucky, but otherwise sucks.
But you can also pre-empt a lot of problems by designing the system around physical limitations. Many games have done that for a long time. E.g. I believe Terminus included things like mass for components, so adding all kinds of extras had a cost in fuel usage and maneuverability. So if you did build a ship loaded with the most powerful weapons, you could, but it'd also be a slow, hard to control, big target.
Mass, volume, energy expenditure, waste heat - there are lots of factors you can add to make it hard to exploit. Of course, you need to tune those factors, but it makes it less likely for really extreme effects.
I also think you should rely on player feedback and community to spot this kind of things, but that could become time consuming if you're a lone developer.
[0] http://lbrandy.com/blog/2010/11/using-genetic-algorithms-to-...
If you have three attack upgrades you are very powerful but only have one live. If you die one of your upgrades will be replaced with a health upgrade ruining your build. Therefore if you want a three attack upgrade build you need to make sure that you don't die. The only reliable way is to just have two range upgrades and a bounce upgrade. Most enemies can't get into your range but it's still possible to get hit by being overwhelmed from too many enemies. If you die you get a health upgrade which also happens to solve this weakness of the build. It turns out if you want to get good at the game this is the only viable build despite there being thousands of possible upgrade combinations.
All those components you mentioned could appear right near the users spawn point, or they could all be impossibly hard to gather, due to procedural randomness.