Book as much in advance as you can. However, booking even a couple months out will still probably get you about everything you basically want as far as type of room etc. Most working people can't be 100 pct sure of their vacation schedule an entire year in advance. Most employers aren't going to approve one a year in advance but I know there are exceptions.
Long story short,...just book in a reasonable amount of time and you'll be fine.