Problem we've found with this kind of payment structure is when players only play few games in a season, or you have a season with a high turn over of players i.e. when you're short every week etc? It's difficult - when they're helping out - for a club to ask for an upfront annual fee.
We found it more profitable (for the club) to charge a higher match fee and lower annual. This means each week the income is set.
Agree that it creates a dilemma when players help out.
Our unofficial policy is if they help out 2/3 times to let it slide, if they play 4/5 times then there is a need to have a chat with them.
The problem with the weekly charge, aside from people trying to slip out of paying, is loss of income when games are cancelled/called off, particularily if you have a few weeks of rain in a row, which can be rather common.