I have a GoPro Session that I run on the back of my bike. I keep a USB battery pack in the saddle bag and run a cable to it, that's secured to the seatpost.
The Session gets about 1 hour and 45 minutes from it's 1000mah internal battery pack so by using a 3000mah USB stick I can triple that run time and still have the Session internal battery as well. All in all I get get about 6 plus hours of run time from the combo.
Photo of my setup:
I've had several cameras. A Virb (original) a Virb 30, A Fly 6, a Fly 12, a Shimano CM1000, a Yuntab Warrior, a RidEye, and the Session. The Session is my favorite due to it's size and light weight. When set to 1080p and 60fps the video is crystal clear.