Is there a universal way for a circuit to detect battery life and report it to the stock OS?
Short answer: I think not. You'll need to create/install the appropriate battery driver if you want to run it from battery (and be effective).

In Linux power management is done via APM/ACPI which is handled at the BIOS layer. So when you buy a motherboard/dev board the expectation is you'll be plugged in. If you go into any mobile shop, you'll see a variety of batteries even from the same manufacturer. As batteries pack a great deal of energy, every one of those batteries could either have a microchip which communicates the handset informing it about battery charge state or some read-only storage which contains the appropriate necessary parameters so that charging can be done in safe manner.

I'm going to point you to the slide deck where I found regarding Android Power Management:
http://www.slideshare.net/jerrinsg/android-power-management

While I'm not sure if you can immediately understand everything in it - it should give you some scope as to the complexity involved.