hmm...
sorry if my suggestion is totally out there but...
why not always set the users default printer to correct one.
if not possible, alert the user that default printer is not available.

this way the script remains small and simple and user don't normally need to interact at all.