My bottle holder under the frame (the third) is also prone to dropping its contents. That's easily fixed with an elastic strap round the bottle and down tube (I use an old reflective ankle strap or bungee cord. I doubt many people will be drinking from a bottle mounted there while riding anyway, so the extra difficulty of getting it out doesn't really matter.
The cheap aluminium cages can be bent tighter, but with plastic cages it's easier to pad them out using an old inner tube, cable ties, and/or duct tape.
You can buy clamps to put a bottle on the handlebars.
Two-bottle belts are available -- I have an old one that I sometimes use if I ride then run. Mine takes 800ml bottles happily, but anything bigger would be awkward.