How can I speed up recovery from "shaken"?
To my knowledge you cannot increase recovery speed of "shaken" status.
However, I will try to explain why soldiers are extra likely to be fatigued after a stronghold mission.
This status is based on the 'will' stat, which decreases when soldiers come into contact with enemies, or get wounds. You can track their will loss in battles with this mod.
According to some guy in a forum:
A soldier is considered ready after a mission if his current will is better then 67% of maximum will. Tired is 33-66% and shaken is below 33%.
Importantly, Chosen strongholds count as two missions (remember the load screen for the elevator) in terms of allowable will loss. Will loss is capped at 33% of maximum per mission, so 66% of total can possibly be lost during a stronghold mission.
To conclude, the only cure for 'shaken' status is prevention. Watch out for soldiers just above the 67% will cutoff, and consider not taking them on stronghold missions.
There is a templar resistance order called Noble Cause that can boost the will recovery speed of all soldiers by 20%.
Unfortunately, you can only assign this at the end of each month so it may not be possible in your situation.