I would recommend factory simplification. Leave complexity to the recipes.
Example factory simplification:
Single Factory block: Increase the capacity/output by simply increasing the factory size. Maybe make the output have diminishing returns with a logarithmic function.
Factory-Enhancer chamber types: Multiply output, access different "levels" of recipes, access different "levels" of complex output block types (mostly for fancier decoration blocks, so that basic system blocks can be built with basic factories).
Example:
Let's say you have a 5^3 factory group. Baseline stats: up to 12 output items per cycle, with an output formula of group_block_count ** 0.5 + 1, rounded up. (With this formula, the smallest factory, a single block, will have an output of 2. Add a speed-enhancement rail block with a double-speed output, and you have 1 output every half-cycle.) Add a factory-enhancer chamber of sufficient size and it allows the use of second-tier block types. Add another factory-enhancer chamber to get a second group of recipes, so now you have up to two recipe options for every available output block. (Or maybe the baseline offers two recipe options for every block, so one recipe enhancer chamber increases the recipe options to three per block.)
Edit:
I strongly suggest not requiring any chambers for basic ship systems. Armor, weapons, basic utilities (thrusters, scanners, gravity blocks, doors, basic rails), should all be available to basic factories without enhancers. Remember: New players need to be able to use this stuff with minimum tutorial hand-holding.
An example of how you could use "next-tier" blocks:
A basic factory can build basic doors (plex doors, blast doors, glass doors), but you need a block tier chamber to build force fields.