I'd suggest getting some self-sticking felt and placing it on the shelves and the bottom. The felt is soft enough to minimize the clattering noise of dice, yet firm enough to allow the dice to continue rolling to the lower levels.
EDIT: as mentioned in the comments below, here is a place to find the self-sticking felt. Thanks to Stephen Furlani!
Whenever my players roll before they establish their actions in the fiction (my system is Dungeon World), I say something like: "Whoa whoa whoa wait a moment. What are you doing and how are you doing it? We do not even know yet whether a roll is even required for that."
I then have them explain what they do and if it triggers a move (=rolling), I'll have them roll again. Any rolls before that are invalid.
Even though they know that premature rolls are invalid, they still do it occasionally. However, for me this is a simple and clear rule to handle these situations: a roll is only valid when the GM has prompted it from the player.
Why?
Because it is an easy and clear rule. It also follows from the rules. In Dungeon World, for example, a move always follows from the fiction, and a roll always follows from a move. Thus, a roll can never precede the fiction. I presume it it similar in most game systems.
What alternatives are there?
If you as a GM want to grant your players a bit more autonomous freedom, you can of course define situations in which players can roll on their own. However, these must be clearly defined situations. For example, in my games I do not prompt for a damage roll after a successful Hack&Slash roll, because a player always rolls his damage in this situation.
Another alternative?
A roll is only valid if it's been announced before the dice were rolled. Usually, it'll be announced by the GM asking for a specific skill, but a player could announce a roll if they think it fits the action. Irrelevant rolls are ignored (and replaced by a relevant announced roll) not because the GM didn't ask for them, but because they don't fit the proposed action. This could be a good compromise between making sure the players don't cheat or use the wrong dice, and not interrupting gameplay with the GM calling every roll (credits to 3Doubloons).
Other than that, if your players cannot show the discipline for basic rolling and rerolling rules (die off the table or stuck on its edge), you probably have deeper interpersonal conflicts that you might need to resolve.
Best Answer
Any well written dice roller will give you perfect random rolls (well, pseudo-random — the difference doesn't matter for gaming).
Some dice rollers are not well written, or depend on the underlying OS/language's source of random numbers, which itself can be well written or not.
The vast majority of the time you will find dice rollers more random than actual dice, which, being physical objects, will be flawed.
I know of one product that had to change the library it used to generate rolls because the OS implementation was poor, but that is a rare case.