Things to think of when going on crusade:

Are there rebel settlements along the way? You can take and garrison these without the units left behind deserting! Then hire more to fill your stack!

Is there a non Christian faction (or excommunicated faction) you can beat up as you go?
You can linger in one spot longer if you are besieging an enemy with out fear of desertion.
In a Spanish Campaign I marched through the Moors to get to the Holey Lands. In Tunisia I switched to boats and also took Rhodes along the way. Then always take Acer no matter what the target is! It is usually worth it as it is a castle and doesn't usually rebel leaving you high and dry with no place to go.

Leave your dirt units like pilgrims etc. for garrisons until you build something good. You can also start new stacks while the crusade is going on…once you have joined in the initial time period. A second stack can clean up the rebel cities and excommunicated towns nearer home while the first stack moves to the target.

When moving by sea (especially from Scotland or England) click on your ships to see if there is any movement points left once the army can't unload any more…ships also get a movement bonus for being in a crusade…make sure you use it or have unload and siege something on the way…this usually ends the desertion problems you have going around Iberia. But if you sail to Bordeaux and take it then march to the Med and hire boats! Sailing due west will cause the problem where sailing southwest with the extra moves doesn't hurt so much.

If you start more than one stack remember that only one fleet will get the crusade bonuses the second will not show as a crusade fleet at all and you will have desertion problems.

Of course you know that winning the city you crusade to is only the beginning of your problems.