I'd go with at least a month before your due date, but in the last trimester. I had my second child just over 3 weeks early and my co-workers were throwing a shower and we missed it. They were bummed and did it after my leave, but they'd gotten me a carseat and wanted me to have it.
Early enough also gives you time to take care of any returns, figure out what you still need, etc. I think if people live around bad weather you know you have to travel for things anyway. I still go to work on bad days, I just count the cars in ditches to give me something to do. :)