As software becomes more and more complex it's harder and harder to keep it secure down the entire line. Discussing this problem with a friend we were opting some pretty extreme solutions and wondered whether the following is done anywhere (presumably in companies that would also air gap at least parts of their infrastructure):
Having two parallel systems ready and switching whenever a dangerous public exploit is known about any of the software in any of the two stacks. For example, one setup based on Microsoft software, and another set up based on open source software. This could be done on any level, be it routers, server and even down to actual desktops ("PA: Please reboot your system as soon as possible to the Windows OS until further notice").
Now, I have never even needed to consider such a set up, but I have been in situations where I knew our systems were hackable, but sometimes had to wait for hours before some kind of temporary workaround was available online. In those cases you watch your logfiles a bit more closely and shut down your entire system in case of a breach I guess, but that's far from foolproof (especially in cases where no identifiable logging is available in the first place).