Countering MMM + Vikings as Protoss?
As Protoss you have the ability to tech switch (due to warp gates) significantly faster than a Terran player. While Protoss has the ability to defend Collosus from Terran with stalkers or (not recommended:) phoenix there are smarter choices.
Instead of attempting to counter them, you could instead exploit what his army -doesn't- have. (If you have an hour to spend, watch this day9 video where Gretorp discusses the value of exploiting what an army is lacking, not what counters it) Your Collosus tech was built to counter his MMM. Is it the only solution to MMM?
Once the Terran player has exposed his viking tech you can switch to high templar easily through warp gates, a direct counter to the MMM ball. (I'm assuming this is fairly late game) By doing this, your Terran enemy has wasted resources on Vikings which have very little utility against a Protoss ground army.
Abuse the fact that you can switch tech's faster then the Terran and make him counter you. High level Zerg's are amazing at this! You have the ability to set the momentum of the fights where Terran is looking to seize the moment when his ball can finally overwhelm you.
If this seems like a lot of work, out number his vikings 2 to 1 with stalkers + blink, but expect him to be able to snipe a few colossus due to his amazing 9 range.
Hope this helps!