A suggestion I have is they implement threat, on top of fixing npcs able to reaggro too easily once the aggro/threat is gone. Since its the reaggro that is the primary issue here, but i think both group play and the npc experience in general could be improved by having a flexible and "complex" threat system underlying it.
Suggestion:
When you initially aggro an npc it'll keep aggro on you as long as you have threat against it and it gets a set initial threat value when aggroing on you depending on factors such as range, your size, armor worn(like in the good ole days when they tested animal aggressiveness vs a players threat "level" some might remember, it would be nice for it to return in some sense) and a base value based on the npc. This could go multiple ways. Bandits might be more willing to come after you if you are looking juicy(to a certain point, before they are unwilling to maybe even attack you at all) while some animals like wolves might be discouraged from attacking you if you wear armor and something like a torch.
Threat increases when you deal damage to the npc, to a capped point. random example number of max threat from damage could be 100 and decreases towards the capped point if its above the capped number and does not decay as long as you are in proximity of the npc and not moving away from it and the npc does not have to move. NPC and player moving decreases threat, player increasing the distance between the npc and the player decreases threat.
This handles it for how pulling or getting aggro on npcs would be handled in the scenario of running away when accidentally running into a npc. The reason why damaging when above the cap reduces the threat is that straight out running away from a aggressive npc is the safest option initially, but attacking a npc that has high threat. Say a bear aggros you. It could start at say 150 threat on you, meaning you'll have to run X distance to deaggro, but fighting back against it will reduce the threat. So you could give it a bit of a fight before running to discourage it chasing you. Is pretty much the idea. This could work vastly different between mobs and adds a "meta" or knowledge of animals and monsters that is practical knowledge that players will get through experience and testing.
DISCLAIMER:
This has barely anything to do with fixing the issue of npcs being a bit fast, some being able to hit you while coming at you too easily and making it impossible to get away due to them reaggroing even if you manage to get a distance away and them eventually catching up due to players having limited stamina. It does add the basis on a underlying aggro system which plays much better into how threat is handled in a scenario where multiple people are attacking a mob. As the threat mechanic will be there and the mob then keyword:Mainly attacking the one with highest threat.
How "threat" in a group vs mob scenario works now:
How aggro works right now in a group scenario is either bugged or extremely lackluster. Right now, a mob will always attack the last unique(non aggroed) player that hits a mob. Example; I hit a razorback, razorback will be attacking me. player B attacks razorback ONCE, razorback is now attacking player B. I keep hitting the razorback and player B is not while trying to run away but the razorback keeps attacking player B until I completely deaggro from the razorback and then attack it, now the razorback will attack me until player B deaggros and attacks the razorback. If there is a 3rd player C in this. This goes the same. All three players attacking the razorback, whoever attacked it last has aggro until any one player deaggros and then attacks the razorback.