This suggestion for different situation.
For example:
We have two zones described as
FileSelect # Zone 1 starting at LCN = 0 (for example)
SomeFiles
FileAction
SomeActions
AddGap(RoundUp(ZoneEnd+1024*BytesPerCluster, 1024*BytesPerCluster)
FileEnd
FileSelect # Zone 2
OtherFiles
...
1. If zone 1 has size 1024 Clusters zone 2 starts at LCN = 2048
2. If zone 1 grow to 1025 clusters zone 2 moved to LCN = 3072 - 1024 clusters moved for vacating gap
If zone 1 srink back to 1024 clusters - 1024 clusters moves back to LCN = 1024
With this adjusting zone 2 stays at LCN = 3072 and no files moved.