Consider two hypothetical characters. Xavier hits on a 2 or better, and Yancy hits on a 20. This is about the best and worst possible odds.

Regardless of skill, they each fumble 5% of the time, and they each crit 5% of the time. Xavier only hits 5% of the time, but all his hits are critical. Meanwhile, all of Yancy's misses are fumbles.

This is clearly ridiculous, and the probability of a fumble should go down as you get more experience.

So my house rule for any game using a d20 for attacks is that if you roll the worst possible roll (1 for D&D, sometimes 20 for other games), you roll again for a fumble. If you miss your "To hit" roll on the second die, you fumble. The same in the other direction for critical hits.

As you get better, both hits and crits increase in frequency, while misses and fumbles both get less common. This means that 5% of your hits are critical, and 5% of your misses are fumbles, regardless of your skill.

I don't change any game mechanic for crits and fumbles on saving throws, but will often describe it with fluff, like so.

DM: You are about to fall off a precipice. Roll a saving throw.
Player 1: I roll a 20.
DM: You carefully pirouette of the very edge, turn a 180 degrees, and stop gracefully at the lip.
Player 2: I roll a 1.
DM: You turn a perfect pirouette, mirroring your friend perfectly, you turn 180 degrees, and stop gracefully on the lip. You smile a triumphant smile, as the rock under your foot breaks off, and you tumble down the cliff. Roll 3d6 damage.