HRM writes the schedule for cashiers, front end, food, and salesfloor. The logistics leaders are expected to get their schedules done themselves though. Most leadership has a set schedule that occasionally shifts based on business needs - vacations, special events and the like. The every other weekend thing is really interesting for the overnight leaders - at one of my old stores they would leave friday morning, and not come back until monday night - a nice four day/three night weekend every other week.
There are also some shifts that are automatically generated by the computer. How this process works I'm not entirely sure about, but sometimes its only 1 shift for one person on that schedule, sometimes it will generate over 100 different shifts on its own. unless somebody goes in and manually deletes them they will usually post without notice.
LOD schedule is usually written a couple of months in advance. when we were turning over multiple LODs within that time span we would sometimes be stuck with only 1 leader in the building all day long, except for handoff.
With all of this being said though, before posting, the ETL-HR can do practically whatever they want before the schedule posts. I've seen them tell a Sr. TL that they have to run the store while scheduled under hours for their own workcenter, instead of under leadership (which is near impossible for certain positions). Though this is quite rare.