Hi Bryan,
This is a really good question. Personally I designed and redesigned (full) Shapeoko probably 7-8 times before landing on the final design that was actually released. But even then, I was still tweaking parts all the way until I submitted them to the manufacturer.
In the years since releasing the first shapeoko, I’ve learned quite a few things about designing something new. The three most important are:
1.) What are your design objectives (design intent)? Really sit down and ask yourself what you want your machine to do. This will focus your design efforts and help quell the tangent thoughts you have while designing.
2.) Set constraints! Time, cost, size, ease of assembly, etc. Whatever is important to you, define it! Without constraints, you have the potential of jumping around from design to design without gaining any sort of clear perspective on why you’re changing things (or if they even need to be changed).
3.) Build it. No seriously. Build it!
You can sit around for years and year designing something. But, the fact of the matter is that none of that really matters if you don’t actually build it!
I found, that settling on the desing for the the entire machine design was very difficult for me. The equivalent of eating an entire elephant in one bite. To keep myself moving forward, I would settle on one aspect of the design that I was comfortable with, and then actually build it. Once that part is built, you have little incentive to change any parts that depend on the newly built part (as you’d have to rebuild it!).
Working through the design systematically you will naturally eliminate changing the design for assemblies that you’ve already built. So, maybe you do the Z-axis design and then build it. Then design the gantry and then build it. Then you can slide you z-axis onto your gantry! Then build the Y axis, then the work area. Before you know it, you’ll have an entire machine 
Good luck, and great question!
-Edward