My understanding is that the PC's hardware RTC is based upon a CMOS circuit operating a 32.768KHz xtal and on boot, the OS tends to sample the time/date and maintain it from there on making the hardware clock redundant until the next reboot. Sure Linux might be different and my supposition is based upon MS Windows here.

Can't you schedule the cron job for (say) every 15mins so that the time adjustments made are quite small but at the same time keep the OS clock fairly accurate?