There is apparently not really a "best practices" guide by MS, but I think
http://support.microsoft.com/kb/837643 ("How to determine whether the system is running in Safe Mode from a device driver") sums it up nicely stating "For drivers that are not mentioned earlier, check the value of the InitSafeBootMode variable in the DriverEntry routine. Return failure if the system is in Safe Mode."