Disable Shift+Delete
Unfortunately there isn't really a way to do this. You can disable it in particular applications, for example there is a registry hack to prevent it in Outlook, however I do not know of any for Windows Explorer.
You could use something like AutoHotKey to map Shift+Delete to Delete.
However, you would need AutoHotKey running all the time for this to work.
The AutoHotKey script to do this is as follows:
+Delete::
KeyWait Shift
Send {Delete}
It's not possible to guarantee that files end up in the Recycle Bin. Some files are too large. Or a user might delete too many files and a file that was recently deleted gets evicted right away. Technically that file went to the Recycle Bin but for practical purposes it did not. The TweakUI Powertoy lets you customize certain key-bindings but Shift-Delete isn't one of them.