So my gaming group had a mild argument if there was a better alternative than a d20 as one player felt it was very swingy. . .
If you want to make a d20 (roll) feel less swingy, you can narrow the range of outcomes from that roll.
Of course an attack roll (and their near cousins, the ability checks), for example, will feel swingy if possible outcomes range from automatic miss (or worse) to automatic hit (or better). But what if rolling low meant you do 1 damage, and rolling high meant you roll damage normally?
Or if the swinginess is due to the die's common representation of 100-percentile points of results, with 1s being in the 5th percentile of outcomes and 20s being in the 100th percentile of outcomes, what if everything below 6 represented the 25th percentile of outcomes, and everything above 15 represented the 75th? Or: every roll under 5 is a 5 and every roll over 15 equals 15?
I solved the d20-swingy problem in my game with two methods:
1) the GM often rolls against the PC, so even a low roll can beat the GM, and
2) there are no degrees of success - just Pros, Ties, and Cons. You haven't swung all the way to Critical Failure if you roll a 1; it's just a Con.