Why have the two layers of RNG in the first place?

Throw out the 50% chance on crit, and just make it activate on crit.
Or eliminate the crit factor and make it a chance on any hit.

As long as it's not a chance on a chance.