What is would be the difference between creating a bug fix release presumably called 1.58.1 and just expediting release 1.59 ? The work is the same and this would be less confusion as we wouldn't have any "branching structure" which would tempt people to treat the "branches" differently.
I believe the best way to address problems of this nature is to
a) test better - more testing is better
no matter how much testing will be done, we can never achieve the test coverage that we will have when the code will be used in real-world projects.
b) release more frequently - would diminish the incentive to cut corners to get something in the release
releasing more frequent will also mean that commits will also reduce the average time between a commit hits 'master' and being released ... also new releases always have the risk of introducing new bugs. the notion of a 'bugfix' release is: bugfix *only*, no new features. also: more frequent updates won't especially help linux users that use the boost version bundled with their distribution: e.g. ubuntu-14.10 ships 1.55, while we are at 1.58 ...