I'm not so sure this is going to be as big of a problem going forward. The abundance of formats and specialized hardware were due largely to the lack of standardization. And just getting the system to have acceptable performance often required tweaking not machine code, but the hardware itself.
Today we solve many more problems using general purpose hardware and software written in well-documented languages, and open-source is making that documentation live much longer than it might otherwise.
Plus the Internet in general has transformed the idea of archiving.