I'm...not sure i see where you are going with this.
I'm just looking for an alternative way...
The background fact is: The player, using a given weapon, needs N seconds in average to destroy an enemy. Here N depends on the fire rate, momentum, and probability of hitting the (same) target. You don't want to express those values as numbers.
Although two weapons may show the nearly the same value for N, they may be differently effective because of the situation. A distant enemy may be shot with a sniper rifle which has a low fire rate but high precision. Due to the distance the player has enough time, and s/he doesn't waste ammo because the spread is low. So that weapon is fine for the situation of a distant enemy, and hence it may be memorized as such.
The other weapon is a machine gun, showing a much higher fire rate but also a much higher spread. Using it against a distant enemy will kill it also in N seconds (that was our condition), but at the costs of running out of ammo. So it isn't suited for this situation. However, if the situation is that the enemies approach in a throng and are relatively close, then a sniper rifle is too slow, and spreading is an advantage if each damage will slow down the hit enemy.
That said, I'd select the weapon based on the situation. Whether weapon A and weapon B differ just in N and 1.01*N is mostly irrelevant in a game (if it is though, like in a quartet, then perhaps using number is the best choice). So the alternative idea was to let the player test the weapons and classify them suitably for the situations the game may throw them into.