Corrupters. Hydralisks would work as well, just make sure you focus fire the Carriers. If you let your units automatically attack they will attack the Intercepters in the Carrier rather than the Carrier itself.
Be wary with hydras, if they arent on creep then they could get taken out. Corrupters are your best bet because they are quicker and can take the carriers from better angles (ex: carriers cant go over a cliff to escape). Plus, this stops any colossus shenanigans in the future With corrupters though, make sure your ground forces are strong otherwise you will kill the carriers and the cost of severely limiting your ability to strike back.
If the Protoss don't make any more air after you take out his carriers with corrupters, you can always just morph some of them into brood lords.
NP/hydra/corruptor is really all you can do vs. mid/late game protoss anyway, you can't really muta as phoenix will rape them and ling/banelings will get swalled up by zealot strength. stalkers/zealot is a way op combo vs. any early/mid game zerg, so your best bet is to exp and tech, get np/corruptor for carrier/colossus and just push.
I can't believe infestors haven't been listed. Carriers with no mobility (or in the case of an actual mothership being around, cloak) are ****.