I don't know how to start this as like a speech or whatever, so I'll just say it.
Buy a MegaMemory Card. On eBay, look up "GBC MegaMemory Card" and buy it. And once you buy the proper batteries (CR2032, I believe. That or 2025) just wait until the game's battery runs out.
Once your MegaMemory Card arrives, put the game in that and that in the GBC (GBA does NOT work with MegaMem), choose "Backup" and name it whatever you want. "Pokemon Gold Save," whatever. When the battery runs dry, replace it. That goes without saying.
Once you replace it, start a new game and save when Oak finishes his lecture. Then turn it off and back on to see if the save worked. If not, make sure the connections are solid on the battery. If it worked, take it out of the GBC, then put it back in and check to see if the data is still there. If not, strengthen the connections and try again (Maybe add a little bit more electric tape on the battery just to squish the contacts more tightly). If it's still saved when you take the game out of the system, take it out again, and this time, give it a few flicks on each side of the case. And, you guessed it, check to see if the save is still there.
If you've still got the save file of 0 minutes or whatever after flicking it a few times, go ahead and put the game back in the MegaMemory Card. This time, Choose "restore" and select the backup of your saved game you made. This should put your old game file back into the new battery. Now your game should work like nothing happened! Enjoy your preserved memories!
By the way, YES, you should ABSOLUTELY do the steps where you keep checking to see if the save game is still there. It may seem tedious, but it takes very little time and you're better safe than sorry. This whole process only took me a minute or two, so you should be fine. And trust me, the MegaMemory Card is legitimate and safe. My Gold battery died a few weeks ago and I just went to replace the battery and restore the save file and it worked like a charm. it's as if nothing happened. Happy 'Mon hunting!