You could also try giving them all a {fired} event handler that checks their primary weapon, or the weapon they have fired. Something like the following in the init field of each unit.
this addEventHandler [{fired},{if ((_this select 1) in ["M16","AK74",...]) then {hint format ["%1 fired an unsilenced weapon",_this select 0]} }]
I have not tested this, it should work but I may not have the brackets exactly right.
Note:
["M16","AK74",...] should include all the unsilenced wepaons you have in your mission. Alternatively you could use:
if not ((_this select 1) in ["HK","GlockS",...]) ...
where you list all the silenced weapon in the mission. Whatever is easiest.