Forretress is really underwhelming in OU. It's lack of recovery is incredibly noticeable even with a wish passer, plus is easy to trap and spinblock. I recommend either ferrothorn (and defog on skarm in that case) or mega scizor with defog. Also, dual hazards on ferrothorn is just not very good in general, it really misses out on volt switch and as a result kills you momentum especially vs stuff like zard X (you know, that pokemon that 6-0s your team :/). Ferrothorn would help as it prevents zard from getting a free switch because of twave, has recovery via leech seed, punishes physical attackers much better with it's ability, and scizor is better because it also doesnt give zard a free switch because you can u-turn on the switch, have ACTUAL instant recovery and can't get spinblocked (you 1v1 bisharp anyways so can't get defog blocked anyways) and offers you priority which helps as you have no form of speed control at the moment.
Mega tyranitar is not very good on stall (I mean, it's not very good in general but that's a personal oppinion). Considering this is literally your only thing for gengar, you may consider pursuit. Rotom wash and heatran both seem like better options although neither really beat charizard x. However, heatran gives you a better serperior answer as sub-seed serperior actually beats chansey 1v1 (this is from experiance, believe me or not it's a fact), and if it has ancient power/stone edge it can beat taunt talon and toxic can beat talon without taunt anyways, plus heatran gives you another fairy check. The reason I brought up rotom was it's a good way to handle taunt heatran and at the same time can switch into keldeo better than anything you have at the moment.
Protect AND roost in tandum on gliscor is never a good idea. Taunt gives you a much easier way to deal with stall, sub gives you much better stalling power (in conjunction with protect), and knock off means gengar doesnt' switch in for free, but protect+roost together don't accomplish very much. Also, spdef gliscor is an interesting idea, but without knock off it can't beat gengar, which is what spdef gliscor has a niche at being able to do. Without sufficiant physical defence, you can't check zard x or bisharp as well as you'd like.
For chansey, drop protect for softboiled. The double recovery option is ALWAYS the better moveset, the only reason stuff like florges or umbreon don't run wish+synthesis/moonlight (respectively) is because of the PP differance... softboiled doesn't have that issue. Also, I need to clarify before you respond with "gengar is a special attacker fam... chansey EZ counter". No, chansey does not wall gengar. Gengar carries taunt. Sableye gets 2hkod, as does everything else (including ttar). Toxic is an idea, but having a taunt bait chansey is never a good idea.
Dual STAB is not necessary on skarm. Spikes or defog would fit this slot much better than brave bird. Would also reccomend shed shell, as you already have 2 mons that magnezone eats alive. You can tell me you never see them on the ladder if you really want, but you WILL come across them and when you do you will lose the game.
These edits will NOT fix your team, but I think they could help. I would like to list some things you don't have answers for though, to help you in your own edits. I don't know how helpfull I was able to be, but at the very least I hope explaining what you are weak to will help you in improving.
Keldeo: you do not have a counter. Actually, you don't have a water resist... period. That's never something you want in OU. Slowbro could help with this, as would rotom.
Azumarill: Same reasons as above.
Gardevoir, Gengar, Gliscor, heatran, sableye, thunderus: these are all taunt users that sableye cannot switch into, barring maybe gliscor. Gengar 2hkos tyranitar and your team cannot pursuit trap it.
Tornadus: special attacker that knocks off chansey and can taunt
Manaphy (obviously) and Serperior can set up quicker than you can stop them with chansey (serperior being sub seed as I mentioned).
Weavile and bisharp: because spdef skarm is NOT a true counter, and neither is sableye. They switch in, but you need to keep them both at pretty much full health the entire game because weavile only needs a small amount of dammage onto either do 2hko.
Charizard x and heracross: 6-0s, but these do that to any stall team. Quagsire is the only real way to stop zard on stall and clefable is the only real way to stop heracross on stall (spdef gliscor does not outpace SD mega heracross, it kills you before toxic kills it).
Jirachi and the less common togekiss can flinch everything and has coverage for ttar and skarm.