If ntpd is bailing out due to a large difference between reality and what your hardware thinks there are a couple options:
1) Adjust the ntpd start script to include -g as part of the start arguments. This tells ntpd that it's ok to have to make one massive adjustment, just roll with it instead of freaking. Problem is, you have to wait awhile (potentially 4 minutes or more) before ntpd will make that correction as it waits for multiple good polls to remote servers before settling on what the one true chimer status is, so option 2 is:
2) Do a quick adjust first, call ntpd -g -q and wait till that returns, or call ntpdate pool.ntp.org to get your clock quickly in the right ballpark, wait for it to finish, then call ntpd as normal.