....
There is RNG who's chances can be directly influenced and RNG that can't.
Accuracy is going to be RNG almost no matter what(unless your "chance to hit" is at least 100%), but you can control HOW accurate your unit is by changing the distance between it and its target, by ordering it to stop moving, by applying ability buffs such as For Mother Russia.
Main gun crits currently cannot be controlled or effected by the attacking player. There is no way to increase your chance to crit
ON ATTACKS if you are attacking, or decrease the chance to crit if you are defending.
A similar situation exists in world of warships and world of tanks. Ammunition detonations have a very low chance to simply one shot the player when struck. Both WoT and WoWS are full of RNG, but its RNG that has many instances in a single battle which means a player will usually end up with an average of sorts.
Nobody is really bothered if a panzergrenadier misses 10 shots in a row because he may well fire 5,000 rounds a match. It's going to even out eventually.
Main gun crits are at an unpredictable percentage with no way for the players to really govern the frequency they occur, but worse is that they are often game changing when they do occur.
My proposal is a compromise, leaving main gun crits as a concept in game, but restricting the RNG aspect, to dealing damage to the unit before being able to apply the crit.
"Deal at least 76% damage to a unit(which has an RNG aspect to it), if the unit has an engine critical, any further damage dealing abilities that apply a mobility impeding effect will also(or instead) apply a main gun crit."