I propose a simple solution.
The player cannot be detected immediately, if distance to nearest enemy bot more than "Z" meters!
In this case player uses Sound Suppressor can be detected only if this player is delayed on his fire point and only after "X" seconds.
Thus the player will need to change the fire point every "Y" seconds and at the same time not to approach the enemy is closer than "Z" meters.
The value "Z" can be for example 15-20 meters.
The value "X" may have for example the random value between 10 and 30 seconds.
The value "Y" should be accordingly < "X" value.