My friend and I routinely have conversations about factory design.
His ideal factory ships every ore in its raw state to a single building, which can then move the ore to different floors/sections for processing. He goes further than most and separates each product into its own "room", so all steel bars are made in one room then shipped to the steel beam and steel pipe rooms. Importantly the factory should be designed so that you can "infinitely" expand a room if you need more of that resource.
I prefer what I call "microfactories", where each component is created in a small, independent factory and the result is shipped to a main repository for builder use and for the space elevator construction. If you need modular frames, for example, you would find a group of ores and build a small factory on it and build every sub-component you can in it. Ideally, it would not rely on any other microfactory's outputs, but sometimes that's easier said than done. Often I will have a small cluster of microfactories all dedicated to shipping their output to a final microfactory for processing.
So what do you all use?
Note: He claims his design is more analogous to microservices (from software architecture) than mine, and that mine is something apparently called "pirate architecture". I think he's out of his mind on that one.
I used to be at your extreme where I would have huge microfactories building e.g. screws and train them all over the place. I was also at your friend’s extreme at one point, doing only a single item on each floor, ending up building as high as the top of the space elevator.
The last playthrough before 1.0 dropped (and the one before it), I have adopted more of a hybrid approach where the only micro factories I tend to build are aluminum, oil processing, and energy production… plastic/rubber, coal plants, fuel processing, turbo fuel, etc.
Then I train it to the megafactory. I also haul in all raw resources except the ones mentioned. The hybrid approach I am liking is to smelt on floor 1, constructors on floor 2, assemblers on floor 3, etc. So I mix things on different floors. It makes it harder to manage, so I have to keep the megafactory smaller. Then I go build another megafactory somewhere else.