The only way to add more randomness into the calculations would be to include a non-pseudo-random element. Multiplying by the time of day is one way to make the number more random (i.e. taking a shot two seconds later could turn a miss into a hit). The hit percentage calculation does seem a little ridiculous at times but I don't necessarily think that needs to be changed. What I'd like to see is multiple rolls per attack. You might've noticed almost every attack is actually several shots in succession (e.g. 8 shots for a SHIV Laser) so I think each shot should have its own roll. With a Sniper Rifle this doesn't change a whole lot, but by this methodology it would deal maximum damage (not including criticals) if it hits. This way I think we'd see fewer complete misses but there would also be fewer attacks at full damage. The main problem with this method is low damage weapons which take x shots and deal <x damage. Still, the number of shots could just be ignored completely and each potential point of damage could have its own roll.