We can make the dummy zone a virtual zone (for example, zone 0) so that it doesn’t occupy any physical zone.
Regarding your two suggestions:
1) yes, the ability to change the order of zones in a program is a possibility. In fact, the firmware for OpenSprinkler Bee (OSBee) has a new, more flexible program type where you can set zones in any arbitrary order, including multiple zones at the same time, and duplicate zones. Specifically, each program contains a number of ‘entries’, and each entry is a set of zones and associated run time. It’s feasible for OSBee because it supports only 3 zones, so the program editing interface is not too complicated. For OpenSprinkler though, due to the possibly large number of zones (up to 72), this more flexible program type would be a lot harder to display and visualize in the app. For that reason, it has not been implemented.
2) manual overriding of zone mapping has been proposed by some users before. I personally do not favor this approach because it can be confusing for the user to remember the mapping (like logical zone 1 maps to physical zone 7 etc.) And option 1) above seems a more flexible approach anyways.
There is a good reason why the master zone is implemented as it currently is: we need to guarantee that whenever an associated zone turns on, the master zone turns on as well, regardless of whether the zone is scheduled to turn on in a program, or manually turned on. So currently, the firmware decides whether the master should be on or not by dynamically checking all other zones. There is no scheduled turn on or turn off time for master, instead, its status is determined on the fly by other zones. It’s harder to make such guarantee with other ways like the two suggested above.
Speaking of that, you should be aware that you can always get rid of master zone settings, and instead manually schedule them with other zones using multiple programs. This may be able to achieve what you need. Specifically, go to Edit Options, remove the Master Station configuration. Then let’s say zone 1 is physically the master zone, you set it’s ‘sequential’ flag off (i.e. it’s in parallel mode). In parallel mode it’s allowed to run with other zones. You set one program to turn on zone 1 at some given time, and duration as long as how much you need to water all other zones. Then you set another program for the other zones, with a start time some time after the first program. This way zone 1 turns on first, then after some time, program 2 starts running, and because zone 1 is parallel, it runs in parallel with the other zones. This should achieve the effect of turning on master earlier than the other zones. The downside is that you have to use multiple programs to do so, but since the firmware supports up to 35 programs, it should give you plenty of room for multiple programs.