You can fill 256 byte table with numbers from min to max (for example for dice it could be 1,2,3,4,5,6,1,2,3,4,5,6,...).
Then you do
ldx $d20a
lda random_table,x
It will be slightly biased toward 1,2,3 and four, as the 256 is not divisible by 6.
Very slightly though.