Battery optimization techniques