Currently, the best way that I have found to date to block ads in Chromecast is at the router level since the Chromecast device connects directly to the Internet through the wireless router to play the media that we are casting to the television. This is the reason why we will see ads displayed on your Television because the Chromecast is not accessing the host file on our mobile devices.
Depending on the device doing the casting, if it has the capability to run KitKat or later version of Android, you can also mirror the image so that the (rooted) device that blocks the ads does the work for you. The drawback of mirroring the screen of the mobile device is that you will not be able to let the device go to sleep (to conserve battery power) while watching the video. You will also not be able to multitask on other apps (Social Networks accounts or email) as you will be seeing those apps showing instead. Also, during playback menus that would normally be hidden in an app while it is casting (play, pause, title, etc) will be shown and will be taking up your real estate on the television screen.
The device will also have to stay in a landscape position (usually with a kickstand) without moving or the tilt sensor on the device will trigger the screen to go to portrait mode unless you can lock in the settings.
Hacking the Chromecast
There are reports that early versions of the Chromecast can be hacked to eliminate the ads. However, since Google can push patches and updates to the devices without the ability to opt-out, these will be overwritten as soon as the Chromecast connects to the Internet for an update.
For router level blocking previously mentioned, you will need to build a mini 1.2 GHz DNS Server that is capable of booting a Linux distro and install the blocking software. They are very inexpensive and requires a little knowledge and tools but may be worth the investment.