Everyone should always wait, and here's why. Disney bases their discounts on the need to fill empty rooms. If rooms are booked up, then they have less chance of offering a discount.
Occupancy at the end of last August was really good, and you notice the
free dining, for the first time, didn't include August dates. Also, back in October when the room discounts came down, at the last minute two resorts (Riverside and All Star Movies) were suddenly excluded from the offer due to good occupancy.
There is zero to gain and everything to lose by booking a room with the sole expectation of a discount to come. You still have to call on the day the discount is offered, and if there isn't availability left at your resort/room type, you won't get it even if you have a room booked. Many many people end up having to change resorts when this happens. So, you have the same chance of calling the day of the offer as you do booking ahead....but if everyone books ahead, there will be no offer.
I advise everyone to only book if you either have an existing offer, or if you plan to go even if there is no discount.