Give Rewards for Fortress Activity, Not Punishment for Inactivity
To solve the problem of players freeloading in Fortresses, give the rewards based on the amount players contribute to the battle, by them giving hexes, spells and focus, and/or defeating foes. The more they contribute, the greater the rewards. No contribution, no rewards.
I guarantee you that everyone will be participating as much as possible.