Eventually you end up with advertisements being served because the application refuses to show the content without the advertisements.
So let me cut back to your main idea:
> Main idea: Ads, updates, etc. typically (not always) need to resolve hosts before connecting to servers. Simply resolve these hosts to 0.0.0.0 instead of a real IP.
Better solution: resolve these hosts to an address you control on your network. You could even resolve it to a "public" address and add a static route to your router.
You can then choose to serve no-content from that address.