Personally, I think that considering the type of battery, processor and number of apps running is overkill. All physical hardware is going to have different performance (especially batteries) regardless of brand. Also, different connectivity and processes will consume more or less battery based on its quality.
It's impossible to know for certain what kind of applications the user will start up and for how long they'll be running (ie. your user might watch 10 minutes of youtube over wifi, or attempt to watch 90 minutes on a varying signal strength data connection).
If I was doing it, I'd measure burn rates on your battery life every few minutes and use some polynomial maths to estimate a trend.
Wikipedia isn't the best place to learn your maths, but if want some information about how trend lines work, start here: http://en.wikipedia.org/wiki/Linear_regression#Trend_line
That's just my ideas on your situation... Hope it helps.