I think at some point the various fediverse components will need to divide up by function, into generic account hosts, generic content hosts, and generic interface hosts. As long as those three functions are bound together, the possibilities for federating between platforms will be limited.