They could be detected and shot down over long distances but that assumes 100% efficiency on our part. If our carrier was in the gulf or other tight confines (for a carrier) and a barrage of 50 or more of these things were launched I am not optimistic we could shoot them all down before they hit the fleet. If they used several submarines they could probably get one or more within the envelope.
In the barrage scenario we have to be right 50 times and they only have to be right once. This was the Russian strategy to deal with our carriers using lots of long range bombers and submarines launching multiple missiles.
The cost comparison is ridiculously cheap for the other side compared to the cost of our carriers, crew, and aircraft on board.
The best defense for a carrier is lots of open water but as you get further from the area of operations you decrease the effectiveness of your attack aircraft (time on target and fewer sorties). Our strategy to protect our carriers should constantly evolve and be a top priority for the Navy.
The loss of even one carrier would be a devastating blow to our psyche as much as our ability to prosecute a war. That is especially true in our present political climate where the democrats would be more likely to play the blame game and direct their anger towards the President than towards our foes.
A Kilo wouldn't be able to carry more than 6 of these missiles & the Iranians have only 3 of those subs,which,according to publicly available info still hasn't got this weapon.They also don't have the kind of surveillance assets to exploit it's range.
The Iranians dont have the capability to fire 50 of these things at once.
Not to mention, these are not carrier killers. A 400kg warhead is big, but it's not like the big AS-6 air to ground missiles that carry 1000KG or 350kt nuclear warheads. In reality you need a nuke to sink a Nimitz class carrier.