This is a technical issue related to the P2P connections that Elite uses to run the game. There is no central server that can allow a truly persistent NPC ship to exist, they are all flagged to "spawn" instantly to interdict a CMDR who is carrying cargo/bounties/missions. The game simply uses the same name for the NPC but it isn't the same NPC at all, which is why they instantly have full hull/shields, can "follow" you on 30 ly jumps even in a small ship, can "re-interdict" you with no FSD cooldown times and so on. It's a glaring limitation of not running the game on a central server. The P2P connections Elite uses are much easier and cheaper to use than a dedicated central server but these types of issues are central to how the game is designed. It's not a "bug" it's a technical limitation of the game itself and as such there is no "fix" for it.
While there may be no "fix" from the point of view of a central server running all NPCs, there is certainly a lot more FD can do
at the clients to minimise "reality stuff-ups". If you, the player, can easily spot impossible sequences of events using nothing but short-term memory and a smidgen of observation, then so can the game client you're running.
If
your game client was previously throwing an NPC Python named Blackbeard at you, then Blackbeard the Python should
not pop up a minute later as a from-scratch NPC, re-initialised with full shields, hull, etc. It should not pop up after a hyperspace jump it couldn't possibly perform. Your game client should be coded in such a way as to avoid doing that. That should extend to instanced networking environments.
Please keep reporting these impossible scenarios as bugs! Code needs to go in to regulate such behaviour, but that won't happen without proper bug reports being logged.