[Galaxy Note II General] KNIGHT97:
The android system, unlike other OS's actually displays the battery reading from a written data config, known as battery stats in general. While there is, in perception no disadvantage to this method of reporting the average remaining battery life, it isn't the actual battery life you are getting, but the percentage read from your daily usage and then sends the information to the OS for displaying the battery life. Due to this, you can have the percentage misreported, so it is suggested to factory reset every 6 months on stock unrooted and if rooted wipe battery stats using rom toolbox free/pro every 2 weeks to ensure correct reporting of your battery life.

Note - This won't increase battery life, but will ensure correct reporting of battery percentage, which gets messed up quite quickly on custom roms(for some unknow reason).

Undervolting can cause battery drain or better battery life depending on your configurations, if you have the CPU set to running high many of the times(like from a governor or background apps that need regular wakelocks for syncing content) it will slow down the ramping up of frequencies during deep sleep(no effect when screen on) and thus it will hold a longer wakelock for the purpose, so undervolt carefully depending on your usage - mild to mid(medium to high undervolt), mid to high(low to medium undervolt), heavy(low to no undervolt).

Different governors have different scaling methods for CPU, thus will give better or worse battery life depending on your config and usage. A governor ramping up faster and scaling down slower will give better battery life in scenario of heavy usage because the device can go to deep sleep state faster and perform background syncs in an instant; while someone with low to mid(or a bit high also) would like to have a governor that ramps up slower and scales down slowly too so as to complete the syncing of files and media scan(if running) and make the device perform smoother and go into deep-sleep and remain in the state for longer times(though going to DS mode will be a bit slower than a fast downscaling governor) and will occasionally wake up for background syncs, but those will be longer, but won't have much effect on battery life because of lower frequencies being used and syncing complete before high frequency threshold is reached.

Depending on what a user needs for his daily usage it is a good idea to keep the rest of apps(preferably facebook, musixmatch, instagram and shazam) hibernated using something like greenify(which now supports auto-hibernation without root in the beta versions). Auto sync should only be enabled for apps that need it, like E-Mail, Google+, Gmail etc.and rest should be set onto manual sync.

Samsung has a habit of throwing in a lot of features onto their device, so keeping motions enabled, which you don't even use, except for a show-off, is a bad idea because it will drain battery. Exploring the settings menu to disable unneeded things can pay-off as a positive fruit for patience.

Keeping the storage clean is also a good way. A corrupted or highly filled up storage requires more passes to be read and thus keeps the media scanner process running for longer, which puts a strain on the battery life. Also, android OS is based of the 32-bit kernel of linux(for now, 64-bit is planned to be introduced after some time), so the media scanner has to look for data linearly in the storage blocks on the internal and external SD, unlike 64-bit where the data is arranged into random blocks which are then brought together as one and the media scanner can be informed of the address of the blocks due to more threads allowed to be run for same process and also a higher memory bandwidth allocated to each process so as to make it perform faster. Due to this reason, the media scanned isn't informed of all the addresses on the time of data writing and thus has to scan linearly looking for bits of data. So keep the storage clean and minimal. Cloud is a good way if you have decent internet and won't need access to the files stored there in regular period of times.

If using a custom rom make sure that it either comes with the modem for your region or flash the modem of your region after that, so as to ensure better signal stability and thus better lasting battery life. A correct modem can give more dBm of signal at the same place as compared to a wrong one.

A good way to have stable battery life is to enable power saving mode in areas with low signal and when on low battery life only, keep it disabled otherwise or it will slow down the race-to-idle for Deep sleep mode and hence cause a bit more battery drain just before deep-sleep state.

Having location services enabled all the time isn't a good idea either, use it only when needed and keep GPS off otherwise. Samsung allows toggling of most things from notification panel so use it.

Smart stay, smart pause, smart scroll all use the front camera for detection, which requires high voltage for operation(separate from CPU, uncontrollable by software) so keep them off unless needed.

Make sure to keep your device clean. How does this affect battery life? Dust and other things when collected around pins, sockets and connectors prevent efficient passing of electricity and thus forces the device to demand more energy, around half of which is taken away by these. Even metallic dust can have adverse effect due to it making the transfer more rapid and forcing the battery to supply the power, which is most probably wasted.

Automatic brightness is good during daytime, but useless during late evening and night, because brightness level doesn't need to be changed and it keeps the light sensor activated. Disable it after 7 Pm(you can also set up tasker or some other automation tool for this).

An Odexed rom provides more battery life as compared to deodexed, but at the cost of available customization as no mods will work and will instead crash the file related to them. Choose your side wisely and patiently.

If you're going to use some app, check if it uses GCM for providing notifications(usually google search at your service), if not look for an alternative which does. GCM doesn't even use marginal amount of battery and is more efficient in providing the notifications at time and also doesn't need a persistent notification.

Check for wakelocks thoroughly and remove the misbehaving apps or hibernate them if you need them on your device. Also, be sure to update the apps for receiving any fixes and optimizations, which can sometimes also decrease the required wakelock frequency for an app and thus preserve battery life.

Don't keep too much of auto updating widgets on homescreen, these only serve to drain the battery further by auto syncing.

if rooted, use Xposed and boot-manager to disable unneeded apps at boot time and thus preserve battery and time required for full boot-up.

If on a custom kernel use DAC direct(if available) for sounds. This bypasses the output mixer and thus preserves a little bit of battery required to produce and refine the sounds, instead utilize 128x oversampling and FLL tuning for an even better quality.

Don't reboot on a regular basis unless needed, this will eat up battery life quicker.

Don't use any task killer( a long debate on uselessness of those can be found on many sites, with a simple google search), the Android system's LMK is itself more than enough.

Be sure to research carefully on what you really need and what you don't and then use it. Don't go on downloading useless things which you'll delete later on because it creates a small entry in /data/data which gets scanned by media scanner due to being present in its path and thus will make the process longer and more battery hungry.

Some custom kernels allow for controlling deep sleep type. Usually these types are already defined in the kernel tweaking app itself. A person with heavy usage should use the IDLE deep sleep more so the device is able to wake up quickly and doesn't drain much battery in case of many wakelocks. Similarly a light user will benefit with AFTR+LPA due to CPU deep sleep, but this isn't advised for medium to heavy usage(use IDLE+LPA instead) because the wakelocks require a high power to even wake up the device, which will drain more battery if you use your mobile more, because many apps will try to acquire a partial/complete wakelock.

I know this is quite long, but read through carefully and you'll surely get better battery life.

Source : Experience and Google groups