In the very early game, usually before Medivacs, good Sentry usage is key: you don't want to allow the Terran to kite your units. Trap the escape route with forcefields then block him in with Zealots. Zealots (minerals) are expendable, but everything else is much less so- you don't want to lose gas units so retreat with them early enough to escape if a fight looks lost. In full out battles, be sure to use Guardian Shield to seriously cut into his damage.
MMM is most dangerous in TvP before you have splash damage (Archons, Colossi, or Storm) and during that time I personally find both Immortals and Chargelots to be very effective. They tank a ton of damage and can deal great damage against Marauders and Tanks. Make sure to focus Immortals on proper targets during battles; with 6 range it's much easier to do so.
In midgame, Upgrades are also extremely crucial, you absolutely need to be ahead of him in upgrades at this point because you don't have the splash damage to just melt stuff that comes within range. Chrono Boost the hell out of those Forges and the Twilight Council.
In the lategame with 200/200 3/3 armies, it all comes down to EMP versus Feedback/Storm. Use observers to keep an eye on his army and ensure he doesn't get any significant cloaked EMP's off, and send single High Templars to feedback and kill idle Ghosts from high ground or fog of war. Keep your army and especially your energy dependent units somewhat spread out in order to minimize the damage an EMP can deal to it.
Protoss, in my opinion, has an enormous advantage in these lategame engagements if they prepare properly: with tons of Gateways you can reinforce with 30 supply of Zealots in 5 seconds, or a similar supply of Archons in 10 seconds.