Battery life issues are common in Linux, unfortunately, but some distributions claim to be better in dealing with it than others. My laptop lasts only a couple of hours using either Linux Mint or Slackware.
I don't know how much you like Ubuntu, but you could try another distro, such as Fuduntu. A lot of people seem to like that distro, and it claims, "Laptop and Netbook users will be pleased to know that Fuduntu is optimized for on the go computing and provides tools to help achieve maximum battery life when untethered. You may realize improved battery life of 30% or more over other Linux distributions."
You might be able to dual-boot your laptop and run both distributions. Whatever you do, back up your data before making changes.