Wow...thanks everyone for the responses. My problem is solved!
The root cause turned out to be...software.
Once I uncommented the line of code that sets the date & time and starts the RTC keeping time the clock started working fine. I had commented this line of code out so long ago I had forgotten all about it (thanks Duckie and Winner10920).
Thanks so much for everyone's responses.
Here are some follow-up comments and questions in response to some of the other posts (OPTIONAL READING)...
The frequency of the 'ripple current' was much higher than 60hz, somewhere in the range of 180khz (if memory serves). I am using a regulated +5v supply based on a combination of a TL783 and an LM7805 (my own design).
I will add 2.2k pull up resistors to the SDA/SCL lines (to be safe).
While I do have the recommended filter caps around the voltage regulators, I don't have a 'ceramic decoupling capacitor' between VCC & GND on the Atmega. What purpose does this serve, and do you have a recommended value?
The power supply is my own design (which explains why I initially suspected that
). I am rectifying an incoming 24vac, and then stepping the resulting 34v down to +5v DC using a sequence of voltage regulators (+34v -> +9v -> +5v). This weekend I plan on converting to a BUCK (step down) regulator circuit that should take me straight from 34v down to +5v. I'm making this change because the TL783 regulator I'm using to drop the 34v DC down to +9v is only ~80% efficient and runs so hot that the largest heat sink I could fit in my project gets too hot to touch in about 15 minutes (with only 50-70ma consumed by my circuit).
Thanks again everyone for your help.