Task killing is never a solution when it comes to "preserving battery". As you discovered, most things restart themselves automatically. What could help, however, is (temporarily) turn off all services you don't need -- after all, it's just for that one run, and (as you already pointed out) you can resign from some of them:
- Do you need a data connection for RunKeeper? If not: switch it off, that would save the most. If it's really needed: disable account synchronization, and do the same for all apps which are periodically syncing (e.g. RSS reader and the like).
- While running, you won't pickup phone calls anyway -- switch off the radio (if no data are needed: just switch to airplane mode. While in airplane mode, you still can enable some services separately, such as e.g. Bluetooth and GPS). Big savings again
- Minor things include Bluetooth. I don't think you want to listen to music via a BT headset while running -- so switch it off. If you really need audio, use a wired headset.
- Display: turn brightness down as much as possible. If it's rarely turned on, this might not have much effect -- but it contributes.
- Some apps which you won't need "on the run" might offer to exit them completely. Do so.
This altogether should save a lot of juice -- and should preserve enough power for 5h runkeeper with GPS, I'd say. Good luck, and have a successful double-Marathon (one for you running, and one for power-saving ;)!