I thought the AI was only atrocious for offensive Crusades, turns out, it's always like so for your side.
As it turns out, some 25k enemies perfectly form the iconic deathball and avoid starvation as they lie siege, but the defending armies of 35k, 40% of which are mine, can't beat them bc the other 60% just runs away and or starves in the desert.
It is OUR land and WE are getting supply-fucked. Tried everything, from defending at river crossing against poor supplies on enemy and good on mine, tried linking army to ally but only resulted in 6 months of desert wandering and starvation and still only fleeing.
It's good to know that Crusades must always rejected, even when on the defensive. Just take my shit, I'll get it back later and execute every single person I capture.