Christmas shopping through out the year is the best way to get your shopping done early.
Many people did not like it when Wal-Mart discontinued their Lay-A-Way. For those that were using it regular, particularly the ones using it every Christmas, find themselves searching for other stores to shop that accepts lay-a-ways.
The best way to get around this, is to shop all year long!

Immediately after Christmas, the stores begin marking items down anywhere from 50% - 90% off. Just because it’s only a few days after Christmas, does not make it too soon to start purchasing for the next Christmas.
Each time you go shopping, check for sales. Try to purchase at least 1 item each month. Depending on how many friends and family you purchase items for, you could have your shopping completed by November.
I would definitely suggest that you have it completed by the first week of December. This is when most others begin to get out shopping, and we all know how terrible traffic and check out lines are in December!

A couple other ideas:
Purchase extra gifts - There are times when a relative or friend may show up with an unexpected guest.
Have plenty batteries of all sizes - You never know when you will receive a gift that required batteries, and you do not want to fight the Christmas crowd (even up until New Years Day) trying to purchase batteries.