Design vs reality and what to do when they differ
No, the common practice is to assume that some parameters will change depending on the operating environment. The design should be made in such a way that the final output is less dependent on such changes.

For example, the value of resistor comes with a tolerance rating. If your design is sensitive to small change in the value of a particular resistor, then choose a resistor with less tolerance. It doesn't mean that its value will not change. It simply means that its value will change in given limits. So you must make your design in such a way that even if it changes a little bit, the system output suffers a minute change. 

And remember, no matter what you do, you can not make a system with 100% accuracy. You have to be reasonable with yourself about the systems accuracy. You decide for yourself, what amount of change in the system output is acceptable. Always try to have this system accuracy before you even start designing any system.