The OP is both correct and incorrect about the networking in Elite and what it takes to fix it...and missing a few really massively major points in the little details like switching from P2P to a hybrid P2P/C-S setup.
P2P is actually incredibly common for online gaming, console games make extensive use of it and it works quite well for them. It really is a good and viable option when you've got limited numbers of possible players interacting together, especially if your matchmaking is set up properly to only allow connections that are all stable and of the same general latency and loss. Follow those protocols and P2P is quite effective. Not very secure, which is why so many console games are hacked to hell and back, but otherwise a very effective networking option for limited player count gaming.
The problem in Elite is people do NOT take into consideration their own latency and loss and try to connect with people who are literally half a planet away from them, and that just mucks the entire P2P thing all the hell and back. These people then complain that the P2P networking is all messed up and that FD can't do anything right, despite the fact that THEY bypassed the matchmaking protocols and caused the issues themselves. This isn't a failure of the P2p networking, this is the players breaking it on purpose. Check where the person you want to wing with lives in the real world, or where they are logging in from in the real world, before you actually wing up with them, you will find that the issues you experience, unable to see each other, NPCs, etc, vanish totally if only wing with people relatively close geographically who also have a decent connection type. That's the other important bit people overlook, connection type. Someone just above said their 1.6mb/128kbps connection was good, no, it's not, that's g rubbish. This person may well have NO options on their connection, it's beyond their ability to change, and that's unfortunate, but that's the person's problem, no one else, and they need to accept that online gaming with other people may not be the best option for them. Sorry, sucks to say that, sucks even worse to have to live with it, but that IS reality, your connection isn't good enough for any decent online game, stick with games like WoW or EvE where real time and game time are two totally different things and your high latency and loss won't be a big factor in how well the game works online.
Another thing overlooked by the OP is location of c/s servers, as that's really quite important and is usually totally overlooked and ignored by people. Elite would need servers in North America and Europe at the very least, a Pan-Oceanic server may also be needed, I have no numbers on how many people in that area play the game though. I do know from my Aussie and Kiwi friends in MechWarrior Online, folks I've gamed with for 20 years in MechWarrior games starting with dialup, that they do NOT generally like using Pan-Oceanic servers, they get better connections-more stable-connecting straight to North America as opposed to connecting to places like Singapore or Japan, and they actually don't use the Pan-Oceanic server in Singapore that MechWarrior Online has due to that fact.
Now, when you have multiple servers hosting the game in various regions of the globe, that's usually no big deal as they don't communicate to each other much, they report back to a master server for player stats and that's usually about it. HOWEVER, Elite doesn't just keep track of our player stats, it keeps track of the ENTIRE galaxy which includes the BGS. Get some funky results with that now due to the Solo/Group/Open options we've got which allows people to counter each other's attempts at BGS manipulation in real time. Now, imagine that happening across multiple servers around the globe, as they ALL have to connect to a master or masters somewhere and be kept synced in real time. That's a major thing, not a little thing, and it's going to take extra programming and hardware and cost extra money.
Another little massively major thing the OP overlooked, creating the networking code for a c/s setup. Now, this could be as easy as, relatively speaking, simply creating and replacing the current P2P network coding, as his idea for working alongside it doesn't work. Or it could require either a complete rewrite of the netcode AND a total recompiling of the core engine OR refactoring just the netcode itself. ANY way you go about it, we're talking 12 to 18 months of work, lots of money spent, and bugs, bugs, bugs for quite a bit after the work is done. Oh, yeah, you also have to redo game mechanics along with the netcode as it's meant to interact with the current P2P netcode not c/s netcode and the two don't work the same, which is why it will take so long to make happen. I've helped with this sort of work before, PITA doesn't begin to cover it. Piranha Games Inc, developers of MechWarrior Online, did this themselves as the CryEngine they are using is a client auth network based engine, and they had to have a serverside auth network, security issues and other things required this. Took them 18 months to get the basics done, and they are still working on getting the netcode working properly a few years later. It ain't easy, it ain't quick, it's expensive and the bugs created by this..oh my god. CIG has been having to deal with this exact same issue for Star Citizen, it's been driving them nuts and I'm still waiting to see exactly how they get around it, as they are using a hybrid client/server setup, not a pure client auth or server auth, so it's even more complicated and fun.
Now, don't get me wrong, I personally loathe P2P networking for any game with PvP in it, it's horrible, a security black hole, as any console game shows and we can see quite easily with Elite, as well as being so bad for connecting with people who aren't geographically close to you AND who also have good connections. I am VERY MUCH a client/server with strictly serverside authorization only netcode man, security is so much better, latency and loss issues are much easier to deal with, it's really the best of all possible netcode options for online gaming. It's also the most expensive in terms of hardware, software, monetary costs and development and upkeep costs. It's also not something you suddenly decide to change to after setting up your networking system as FD has done.
P2P can work quite well, as I said, not my choice at all but it works. Changing it to what is the best possible option, very expensive and very time consuming, not viable by any means.