Look at the kind of weapons that are expected to be used at various ranges:
At long distance, precise weapons are preferred because they increase the likelihood of hitting the target (for instance, a railgun).
At medium range, projectiles with high splash damage should be used to increase indirect damage (for instance, a rocket launcher).
At close distance scrappy fights, weapons with a high spread of fast projectiles may be used (for instance, a chaingun or hyperblaster).
The flow of control during the fight is also likely to affect the weapon selection. Notably, powerful weapons could be used when the NPC is desperate, and a more precise weapon when the player is in control.
Weapon changes should to be limited to just five seconds during combat (approximately), but with fewer restrictions when wandering around.