Ideal solution is giving YOU, the User, decide, which apps to run. All you need to make the decision is the data which app consumes how much energy.
If I need a processor-intensive app to do some computations all the time, I should be allowed to run it, with full understanding that the device will need to recharge in 3 hours. It's my device, my battery, my use case.
Android is very opaque about what is actually running. I was walking by a shopping area with a new phone recently and Google Maps popped up with some irrelevant notification. But upon viewing running apps, Maps was not in that list, so there's basically an unknown number of useless background tasks running that the user cannot view or control.
As a whole, Android is pretty terrible. You can't run the things you want and you can't stop the things you don't.