Our organization had the same issue and we've only had luck with dummy/custom time using lists. This option isn't terribly hard to maintain, since you can populate your custom weeks and custom months lists all at once (for as far out as you'd like, as long as model size doesn't become an issue). The only routine maintenance is creating the rollup (choosing which custom weeks belong to which custom months), which would most likely be yearly or every other year.
You can also "synchronize" your custom time list range with native Anaplan time (e.g. 2 past years and 2 future years) by creating a subset on your custom time lists, and periodically updating this subset based on Min/Max native Anaplan time period via an import. It's useful to schedule this through an API if your end users want the custom time range to be updated based on the current period (every week or every month). This can make the module views and custom time dropdowns more user friendly and navigable; for example, your end users are not forced to scroll down 24 months in the past in order to select an upcoming month on a dashboard module. This subset synchronization method also keeps sparsity at a minimum.