Every time I hear someone ask this question... people always respond saying how Android is designed to do this or that... or this or that isn't needed... blah... blah... blah... but no one really seems able or willing to just give a straight answer to the question or don't really know what they are talking about.
I'll give you the best answer. The answer is: Without a Rooted phone it simply can NOT be properly done. Those apps that claim to work on non-rooted phones don't really work... You have to have administrator access to prevent apps from starting up... plain and simple..
Rooting an Android device isn't really hard at all.. just about 2-3 clicks that takes less than 30 seconds... Once you do that, then you install an App Manager or Startup Manager and then go to startup options to prevent it from starting up on boot. Another good App you could use is Greenify. I started using that and it seems to work great. That particular program could be set to cause any app to go into Hibernation Mode. What that does is causes it to go into a light sleep. The App isn't frozen and will wake back up when it's needed and there isn't any noticeable delay in launching the app, either. I use Greenify to cause seldem-used app to sleep when I'm not using them, otherwise Android would keep them fully in memory when not in used.