Let's see if we can break this down:
Fatimids in particular are massively overpowered. At a time when they were waning in power and the Seljuks rising in power, they instead consistently dominate not only the region but parts of Europe that would have been well outside of the Fatimid's reach even if they hadn't declined in real life.
This has a few causes.
Fatimids can declare a Religious War for any title not held by a fellow Shia.
This alone is not actually a problem, but it becomes one because the Fatimids have a truly massive army and access to a huge navy. This allows the Fatimids to dominate even lands thousands of miles away, when in real life such an expedition would have been doomed to failure and not even contemplated by any even barely competent ruler.
Because troops and ships are automatically provided by provinces the Fatimids have a much larger army and navy than they ever would have had available for such an expedition. Even if they could build up the ships and troops necessary, such the attrition from such a trip would have killed most of the invading army before they even made landfall (and once they did they would be without supply routes from the homeland).
It has been suggested that Religious War CBs should be limited by distance, but that doesn't limit Fatimid power as much as it redirects it. The Fatimids would be forced to build an empire closer to home before expanding outward and would never fall to Seljuk dominance with any regularity.
The better solution here is to drastically alter how ships and troops are handled. Currently the Fatimids have access to too many of both. In real life they would never have had a fleet capable of transporting so many troops, nor would they even have had an army that is large and well-trained enough, or even willing to undertake an expedition they're more likely than not to starve on.
This is a much broader issue and probably outside of the scope of this topic; though we can consider a few of these issues.
Ship production needs to nerfed. Few countries in this time period had navies that would be large enough or even well-built enough to undertake the expeditions the Fatimids so often take. In addition, armies at sea should suffer attrition. Remember, this is a time period where most expeditions at sea were generally a week at most and only carried out across small channels. Forget attrition, the Fatimid's troops would have mutinied before reaching their targets.
Troop production also needs to be changed. This is a time where "troop" means "conscripted laborer". Currently there's no reason to reason to not conscript a massive army on send them off to war for years other than the maintenance costs. I do have a few ideas.
1. Tying troop levels to the war they'll be fighting in. A few factors would come into play, and these could be offset somehow by your marshal. Then your troop levels will be decreased by an amount based on these factors. For example, the population should be less willing to wage war on the other side of the world, or more willing to defend their home compared to invading a neighbor.
2. A proper war exhaustion mechanic. This could increase as war drags on, and increase even faster as the war score drops. You could tie vassal opinions for raised levies to it, as well as increasing attrition to depict desertions. You could even tie maintenance costs to it, to depict having to pay more to prevent desertion; mercenaries should be even more influenced by war exhaustion.
3. Making war more logistically difficult. Raising troops is too simple currently; click a button and your troops are armed and ready to go when in reality war preparations could drag on for years. Weapons have to be made, repaired, or improved, troops have to be conscripted, supplies have to be stockpiled and logistics have to worked out. Then there's there's cost of war; as men are conscripted production grinds to a halt, your provinces are burned and looted, populations are killed wantonly. Then there's the cost after the war; production is slow to resume, some soldiers conscripted at a young age will turn to banditry instead of honest work, supplies and equipment are stolen. All of this should be modeled in the game somehow and be far more significant than it already is.
There's also a second problem; Christendom does not rush to defend its lands nearly fast enough. Even when Muslims are within spitting distance of the Pope the Catholics don't seem motivated to repel the invaders. My solution would be a mechanic that calculates the amount of land ruled by realms of the same religion at the start of a game, and as this number decreases rulers become more and more anxious, with certain traits increasing this effect. Even better, all counties could be given a value that's calculated into the overall percentage and is lost when the county is lost to the religion but not regained. This way provinces lost in Iberia would be minor annoyances for Christians while Muslims at the heart of Europe would be major warnings, and since the percentage can't be regained Christians will always be wary of their enemy religions even when they recapture old lands. Basically what I imagine is a modifier that compels AI to act with greater urgency as they lose more and more of their lands to other religions with certain lands being "worth" more in this regard.
These are just my ideas on how the situation can be improved. I'm not a developer and I have no idea how implementable these ideas are. I welcome and constructive criticism and discussion on them.