The netcode isn't the issue here.
The main issue is how most internet access providers, all around the world, are not neutral as they should, and decide to filter/bandwith-limit specific type of packets (p2p, youtube, twitch and so on) to maximise the number of people on their existing network, that way they don't have to invest as much to get more people in.
They even for some try to detect p2p specifically and block it, cause it's obviously illegal stuff. So Elite has to continuously try to reconnect players together when one player's ISP blocked the network port the p2p part of the Elite netcode was using.
Sometimes, it's just your router/modem that doesn't like uPnp (it's a piece of software that dynamically affect a network port to each app on your pcs, including Elite). In that case, setting a specific port redirection on your router to your PC's IP (5100 for Elite for example) and forcing that port (5100) in the network options of Elite can help get a way more stable connection.
Sure, a classic client/server model would have avoided those issues... but then the servers at Frontier would need to be way more powerful and they'd need way more of them to handle instances. Back when they were out of the kickstarter, they just didn't have the money for this. Also, don't think that model doesn't have issues, cause most MMOs do have issues from time to time with a client/server classic model.