Good ideas there, so I've gone with them.
I run dnsmasq on my Linux router. I've reworked that with a list of forwarding nameservers it should use (AAISP in this case, both IPv4 and IPv6 addresses). On the end of those, I've stuck ::1 and 127.0.0.1 as a fall back (my root/hint caching server, which is unbound, bound to the IPv4 and IPv6 localhost interfaces of the router).
So the upshot is, dnsmasq will now query AAISP DNS servers, and cache results. If they go down, it will fall back to unbound (root/hint caching server), by querying on the localhost interfaces.
I also have some other funky custom firewall configuration which I've applied onto the router. Anything on port 53 is caught and is redirected to dnsmasq. So if I have some nasty piece of malware that decides to try and take over a device by placing malicious DNS server entires into the device, that will get caught, and redirected to dnsmasq on the router, regardless of what those malware DNS servers are. A nice safety net to have I reckon.
I also have some further fancy custom configuration where I can, on a per client MAC address basis, round robin forward requests (directly using the Linux firewalling sub-system this time) to one or more DNS servers. So for example, I can force my iPhone to use OpenDNS (round robin-ing requests to all 4 IP addresses they have) and have my laptop forced to use Google DNS. Basically, I can customise each device to use what ever DNS service required. I suspect not many people have this level of granularity, but it is a pretty cool feature.