I am with a small business redesigning other companies' websites. Often we will host their new website on our Linode account but they will have their email handled with some other provider.
One client had their domain registered with GoDaddy. I changed the nameservers to ns1.linode.com, ns2.linode.com, through ns5.linode.com and did not touch their MX records. There were no problems with the transfer and email service was not interrupted.
Another client had their domain registered with another Network Solutions. I went in and changed the nameservers like last time to point to the Linode, and after a few hours the new site was showing. I then received a call saying that email service was out. Turns out Network Solutions only allows you to set MX records when the nameservers are their own. What I had to do for this domain is change the nameservers to point to the Linode and then configure MX records in Linode's DNS manager.
Is one of these ways the "normal" way of doing it? Will doing it one way affect subdomains? I want to avoid email outages in the future.
Normally you leave the nameservers alone, and just update the records that are relevant to you - in the case of websites that will be A and CNAME records, and maybe TXT if you need to prove ownership of a domain to some other service provider such as Google.
Unless you know why you are doing it, leave the nameservers alone!
The normal way of doing it is to leave the DNS name servers alone and to add/update the records in the zone that are pertinent to your hosting of the customer web site (A or CNAME records). There's no good reason as far as I'm concerned to move the name servers just because you're hosting the web site, unless you have some contractual agreement to do so or if the web hosting provider has a requirement to do so. As an example:
company.com:
Name Servers (NS) = Network Solutions Email (MX) = Google Web Site (A, CNAME) = 1AND1.com
There is nothing particularly a.b. normal in what you describe. If anything, NetSol's policy is somewhat unusual. My rule of thumb is that it's preferable to control MX if you are in charge of the NS and you (or your customer) have no relationship with the entity maintaining the MX server. But, by doing that, you also take some charge of possible mail problems.