[Galaxy S I9000 Q&A, Help & Troubleshooting] FjarrKontroll:
Before anything else, please install CM10.1 (http://get.cm/?device=galaxysmtd), CPU Spy (https://play.google.com/store/apps/details?id=com.bvalosek.cpuspy) and BetterBatteryStats. (http://xdaforums.com/showthread.php?t=1179809)

Now in BetterBatteryStats, look at the "partial wakelocks" near the end of a day's charge and drain cycle. This will tell you what was keeping your phone awake. My money is on RILJ being at the top of the list and active for several hours. If that is the case, you need to change your modem. Check CPU Spy as well to see how much time your phone spends sleeping when it's supposed to.

Modems

The "modem" is basically like a driver file for the phone's radios and such. (Cell radio, WiFi, GPS, etc) It tells the phone how to use those things. So some modems are less efficient or not tuned as well for your specific carrier.

http://soggycashew.weebly.com/i9000-modems.html - Here is a collection of modems packaged in Clockwork Mod zip files. If you were able to install CM10, I'm sure you know how to install them.

Go to the "i9000_release_dates.txt" file and try the most recent one. If you have an i9000M which supports the 850MHz band, only use the 850MHz-capable modems. Likewise, if you have a regular i9000, don't use those. Testing may take at least day or so each. If you're still seeing a RILJ wakelock time more than about 20 minutes a day, try the next latest one.

Kernels

The "Kernel" is sort of like the BIOS in a PC. It starts up first then Android runs on top of it. Android communicates with the kernel, and then the kernel communicates with your phone's hardware. It runs the screen, sound chip, vibrator, radios, everything. Some kernels are basic and only include what they need to run the phone normally (like the stock Cyanogenmod kernel) and some are made to let you change all sorts of settings of how they operate.

I highly recommend Semaphore JB for CM10.1

You'll find that here: http://xdaforums.com/showthread.php?t=1786220

And the app to change settings here: https://play.google.com/store/apps/details?id=com.semaphore.sm

For improved power savings, use the app to turn on Deep Idle, make sure WiFi PM FAST is disabled, and you may as well turn on fast charge. (no power saving, but a shorter charge time is nice)

Android

Now this stuff is pretty simple, but it can be overlooked. Make sure to turn off apps that auto-update or at least lower their update frequency as much as possible. These are brutal for battery life. With your Google account, only enable sync for things you NEED to have updated automatically. Like Gmail and Chrome. Things like Contacts and Calendar you can update manually whenever you want but you probably don't need it constantly ready to sync. You can also do things like lower the screen brightness and turn off the fancy stuff, but I don't bother. 100% screen brightness all the time for me. I'd rather have a good experience than another couple minutes of battery.

I really hope this all helps and you can get on the latest ROM without the crippling battery drain these phones sometimes get. And you have the right idea about keeping all the effects and things on. Everything's active when the screen is on anyway, so battery savings will be negligible. Good luck!