My first rule is use a registrar to register domains. Never host your site or DNS at the registrar.
My second rule is do not host your DNS where you host your site.
It makes it easier to switch providers without downtime.
With these rules, I use GoDaddy to register domains and never had any problems. For DNS, DNS Made Easy is cheap and reliable.