You can't whitelist sites which you would want to support, and if the site doesn't load up because something is being blacklisted it's quite a hassle to debug it not to mention make the actual change.
I did use to port the ADBplus list for privoxy and IPtables blacklist on my pfsense but it ended up making very little sense to do so, especially when ublock came around and pretty much made any browser performance / memory consumption arguments irrelevant.
OpenDNS has some functionality which allows you to also do some adblocking on your end, but then ofc you leak everything to them (and CISCO these days).
For example (should work on any router with iptables/ipset):
https://github.com/RMerl/asuswrt-merlin/wiki/Using-ipset
https://github.com/RMerl/asuswrt-merlin/wiki/Disable-Windows...
http://www.snbforums.com/threads/adblocking-with-combined-ho...