If I'm not mistaken, McCain was not born on the soil of the U.S. and therefore would not be considered an NBC of the US.
McCain falls under the same "exception" as children of diplomates. From Vattel, Book 1, section 212 and 217.
...The natives, or natural-born citizens, are those born in the country, of parents who are citizens.
...children born out of the country, in the armies of the state, or in the house of its minister at a foreign court, are reputed born in the country; for a citizen who is absent with his family, on the service of the state, but still dependent on it, and subject to its jurisdiction, cannot be considered as having quitted its territory.
IOW, someone born to soldiers (with both parents being citizens) or to a diplomat (again both parents citizens) will not have dual loyalties, just because the parents were *temporarily* outside the country doing it's business. At least no more so than someone born in the US, and then taken overseas by those military or diplomatic parents.