We don't have a clear picture of this yet, but once we do we should give users better visibility into when maintenance will occur.
My general feeling is that we should be scheduling maintenance to minimize the risk and damage associated with major errors: that is, during normal work hours so everyone is awake, on hand, well-rested, at a computer, etc., and then work to reduce the impact of maintenance. Overall, do major pushes at something like 1PM PST on Thursdays, not 1:30 AM on Sunday mornings.
However, reducing maintenance impact will require some technical work.