It may not be neat but for thousands of miles I used 3M double sticky foam base tape between a standard bottle cage and the frame. Then I put two tie wraps for extra security. Never came loose.
When I finally removed it I first took off the tie wraps and it took a lot of prying to get the tape loose.
I took it off as I then drilled two holes in frame and installed 'threadserts', which worked well for a few more thousands of miles and looked a bit better.
The tie wraps and double tape looked like this:
Al