I see no reason why removing anacron would be problematic. The answer mentioned by papukaija doesn't contain any warnings either. Especially since missing jobs is exactly what you want when time is stepped.
The package description says:
You should install this program if your system isn't
powered on 24 hours a day to make sure the maintenance jobs of other
Debian packages are executed each day.
So simply remove it with sudo apt-get remove anacron
(Don't use purge
so the config files are kept)
One problem remains (as you noticed) - cron sees time steps smaller than three hours as results from something like Daylight Saving Time and still executes missed jobs.
Special considerations exist when the clock is changed by less than 3 hours, for example at the beginning and end of daylight savings
time. If the time has moved forwards, those jobs which would have run in the time that was skipped will be run soon after the change.
Conversely, if the time has moved backwards by less than 3 hours, those jobs that fall into the repeated time will not be re-run.
Clock changes of more than 3 hours are considered to be corrections to the clock, and the new time is used immediately
Your possible way around lies in the fact that only jobs with exact execution time are affected.
Only jobs that run at a particular time (not specified as @hourly, nor with '*' in the hour or minute specifier) are affected. Jobs which
are specified with wildcards are run based on the new time immediately.
So if you want to execute some job every 3 hours
you would write a line like
25 */3 * * * root /path/so/some/file
A completely different approach (if you want those jobs run at most once) would be to employ at
.