design revision on sw model

As every one points out; you need robust mates/references/relations when dealing with complex surfaces. Its much more easier to repair a model with “hard coded” references then one with references floating on a surface or edge. Often you really need that relation to be positioned at the exact middle of i.e a surface. There are no bullet proof way to do it, you just have to learn the hard way how features behave when altered too much and how different mates/references/relations follow.