First, the network is modularized as much as possible. The connections are distributed in such a way that the likelihood of a total network failure is minimized. In case of a failure, it is easy to swap in a spare switch for the connections affected. Second, all the connections use static addresses with known devices residing on these addresses. We know what is being added to the network and when it is added.
Abnormalities are easier to trace when recent changes to the network are known.
Finally, the various functions supported are segmented with nonrouting subnets. By isolating the subnets, we prevent one subnet from impacting the performance of another. This keeps undesirable protocols and traffic off the subnet supporting the production servers. A third subnet is for testing. The testing subnet lets us isolate new functions and servers so we can evaluate their impact on the production environments.