Actually, I think McCain was a pretty crappy senator, and thought so well before Trump appeared on the scene. McCain isn't much of a hero either. He was rather brave and correct in not accepting a singular repatriation while his fellow POW's didn't get one, but that hardly on its own makes him a "hero." If a "Gold Star family" says something political or stupid publicly, they become fair game. They get no special Right to say what they will while any rebuttal is dismissed because of their status.
There are plenty of decorated military leaders the US has had that were failures, idiots, and or liars. They too get no special status or protection from rebuttal because of that. Arguing they should amounts to an appeal to authority of one sort or another, a logical fallacy.