A VERY simple fix as a start would be to simply say that no reservation may be made for any night in Premier season until 11 months before the checkout for that night. IMHO, that would take care of most of the issues without throwing the baby out with the bath water. It also would be quite easy to program.
Whatever happened to the lottery type thingie they had for Christmas week? It ended right after I joined so I only saw 1 letter asking me if I wanted to sign up for Christmas week (and I never knew much about it), but would that type of system work? Seems like it might be more work, though, for MS.