How to automatically remove placeholders for ads when blocking them in Chrome? I have a Moto Z2 Play running a Pixel Experience Oreo (8.1) 64-bit ROM. I have TWRP, Magisk root and Xposed Framework running. My browser is Chrome 70.0.3538.110 which is the latest stable release as of 5th of December 2018.

As the top answer in "How to block ads on Chrome for Android?" suggests, I have "AdAway", which works using the hosts file. It does work, however the space normally taken up by the ads is now taken up by a "sad face" icon as in the message Chrome shows when a page fails to load.

To me this is better than no ad-blocking at all, but one of the points of an ad-blocker is to remove clutter and use more display real-estate for actual content. Therefore, I am looking for a way to block ads in Chrome while also freeing up the space used by them so it can be used to show actual content. This is how most ad-blockers for desktop Chrome work.

I know that the newest Chrome Canary releases have a native ad blocker built in. However, it only blocks the most obnoxious ads. I am looking for a way to block all (or the great majority of) ads.
Browser based ad blocker extensions, such as uBlock Origin, work by preventing third party (cross site) requests from being made at first place. They explicitly have a list of which third parties loads ads, so they prevent the request, which in turn means no placeholder (the space occupied to show them on a page) for them in the rendered page output because those third party scripts were blocked from execution.

Non-browser based ad block solutions, such as Adaway and DNS66, focus on hosts based blocking, in which a request to an advertisement is redirected to localhost (user's own system), which in turn does not load anything. Since they don't prevent third party scripts from being executed, the scripts get to be loaded, with the placeholder the advertisement getting reserved in the rendered output of the page, but with no real ad being shown because of content request redirection to localhost.

So, if you want to save that real estate in the screen, you'd have to find a browser which has support for a popular browser based ad blocking extension. 

Chrome does not support extensions as of now, so it is out of the equation. I don't know of Chromium based browsers with support for extensions, except Yandex browser which supports some Chrome extensions, and Brave browser who's native ad blocker at some sites achieve what you want. But, Firefox for Android is explicitly supported by the mighty uBlock Origin.

Here's how  a sample page from Vox website looks like, first with host based solution, than with uBlock Origin extension based solution, in Firefox.