My first thought was not to participate in this thread but I changed my mind. It is perfectly possible to avoid blank spaces produced by images (or another element, for example tables) under epub3. I'm not going to post the code to achieve this (at least, not for now, maybe in a future) but I can CATEGORICALLY affirm that it is possible to get what the OP proposed, with the following ereaders:
ADE 4.x (Windows), Thorium (Windows and Linux), Koodo Reader (Windows and Linux), IceCream Ebook Reader (Windows), Foliate (Linux), Readium, Bibi Reader and JSReader (all Sigil plugins on both Windows and on Linux), Calibre Viewer (Windows and Linux), EPUBReader (extension for Chrome and Firefox), ePUB Reader (another extension for Chrome and Firefox), PocketBook (Android), Gitden Reader (Android), Reasily (Android), Aldiko Next (Android), Lithium (Android), OverDrive (Android), Bluefire Reader (Android), BookFusion (Android) and Colibrio Reader (Android, which with its last update fixed all the errors and now perfectly avoids fragmentation).
Some screenshots:
1) From Readium (Sigil plugin):
a) With a font-size of 100%:
b) After increasing font-size (120%):
a) With a font-size of 100%:
b) After increasing font-size (120%):
2) From PocketBook:
a) Before increasing font-size:
b) After increasing font-size:
a) Before increasing font-size:
b) After increasing font-size:
Of course, all this can only be achieved under epub3 (and with ereaders that have full support of it); it's impossible to avoid fragmentation and the existence of blank spaces caused by images and tables due to the change of font size under epub2.