Hardware support is always the stumbling block to OS diversity, and will remain so for a long time. Probably the best that can be done for OS progress would be to build future OSes using Linux as their hardware abstraction layer. As a clearly-better OS architecture emerges, the more performance-limiting drivers will naturally migrate to the new system, ultimately leaving Linux to present a unified view of the zillions of slow and old devices. Two decades after that, we will begin to see machines that don't need a Linux driver subsystem any more -- or that have a Linux in each peripheral, forgotten.
Which parts of Linux will slough off first? Tty, memory management, file systems, networking, program loading, user process management. It will be sad, in a way, but the new OS will keep most of us from looking back.