As far as i know you should be able to scrink it anyway... as long as the "recovery model" for you database is NOT set to FULL...
I would recommend "simple" if you remember to do backup on a regular basis. This should also keep the log smaller.
You can set this option on the database properties and then options.
But in the end a scrink job should not be able to crash you database. And SQL should not restart because it is doing a scrink hmm strange....