if it's just an overloaded ISP DNS server (typical) that's easy to fix with a locally installed copy of bind9 or dnsmasq
bind9 is meant to be an ISP grade daemon, and dnsmasq is intended more for a solely caching setup on a small home LAN, but they will both generally be able to serve both purposes