First up, apologies for the long post - you don't need to read all of it to get a good idea of what I'm trying to say, though.
Just been going through this thread trying to figure out how exactly this sort of stuff is going to be working and how it would tackle the problem and have found the absence of one thing notable - guaranteed incentives. In the real world, of course, there is money - something which we can't effectively simulate. "I get more money here" would mean little as this isn't a game of the Sims were you can just buy a pool with it or something, nor is there (at present) a training system set up in order to allow players to use such 'money' to buy training and increase their simming stats.
One thought that came to mind was this: Gametime. In football, players can get loaned off to another side and sometimes they have a clause that says they MUST play for a certain amount of games. Gametime is something that I'm sure we would all want more of and thus can be used in place of money. For example, instead of a player leaving "because my friends are there" they could leave because "I can get more gametime here" or "This side doesn't have as many players in my trade with guaranteed gametime, meaning I'm more likely to get a shot". This is something that could be controlled if done right and although one person I mentioned it to noted it could get complicated, I think with the right tools and/or restrictions it could work quite easily.
As for captains/selectors that are 'paying' with this gametime, the obvious problem is if you promise them too much gametime and they are out of form, you can give problems to your chances of winning - so I'm assuming very few (if any) players would be guaranteed a spot for all 16 one day or first class games in a season.
With regards to injuries or international callups, we can just set it so that any games missed through injury and/or international callups are counted as "played games".
The length of contracts can also be used as 'haggling points' by the various captains and, of course, players with the least gametime will be the most likely ones to move, which should hopefully allow for more and more people to get a game in somewhere.
If a player is contracted to a side without any guaranteed gametime, they can of course still appear in every game if the captain has available spots for him in every game and chooses to select him.
Captains would not receive any guaranteed gametime and would be contracted until the end of each season.
Rookies would not receive any guaranteed gametime and would be contracted until the end of their first season, after which they can move to a different side or be contracted to their current team.
Examples can be found here... most of it is self-explanatory but if you want to get a better understanding of how each player is contracted, see below.
Lance, the captain, and the three rookies would have the fixed contracts as detailed above in this post.
Jim is contracted to play every FC game that season, but has not got a guaranteed spot (GS) for OD games.
Bob is contracted to play every OD game that season, but has not got a guaranteed spot (GS) for FC games.
Doug is contracted to play at least 16 games - be they FC, OD or a mixture of the two, that much would be up to the team's selection panel throughout the season.
Sally is contracted to play at least 8 FC games, and possibly more. She is not guaranteed any spots in OD games, although of course it's possible the captain/panel could play her in as many games as they like.
Ralph has the same deal as Sally, with OD and FC reversed.
Doug is contracted to play at least 24 games - how many of those games are FC or OD, that much would be up to the team's selection panel throughout the season. However, as there are only 16 FC games and 16 OD games in a season, Doug will play at least 8 of each form of the game.
Sam is contracted to play at least 8 FC games, at least 8 OD games, and at least 8 additional FC or OD games as per the selection panel's choosing. They could all be FC, all be OD, or be a mixture.
Gary is contracted to play at least 8 FC games, at least 8 OD games, and at least 12 additional FC or OD games as per the selection panel's choosing. However, as there are only 16 FC games and 16 OD games in a season, Doug will play at least 12 of each form of the game.
Tom is contracted to play at least 8 FC games and then another 8 games, be they FC or OD. He could play all FC games and not a single OD game if the selection panel saw that option to be best, or he could play in every FC & OD game, or he could play in 8 FC games, 8 OD games and no more, etc.
Wayne is contracted to play every game of the season. Greedy sod.
Fiona is contracted to play every FC game of the season and at least one OD game, obviously insisted on at least being given a shot.
Helen is contracted to play at least two of each form of the game - possibly a young player trying to make a name for herself.
Matt and Vince have chosen to take up a contract with their current side but have no guarantee of a spot in any game. Either they're really crap and nobody else wants them, or they simply don't mind how many games they play, or else they're just incredibly loyal and believe they'll play every game anyhow.
If a captain was really good with recruitment, they might be able to manage to sign 17 top class players on five season contracts with 0 games guaranteed. I don't expect that to happen, of course.
If a player wanted to leave a side mid-contract, there would be a few ways to go about it.
1) The player would leave immediately and suffer a gametime penalty. This would mean they could not play any games for so many rounds. I would suggest something like 4-5 games for every season left on their contract at the time. Another option would be to also state that the player leaving X side would not be able to play against X side for the next four quarters.
2) The player would leave on a trade where all players and all captains involved in the trade would agree to the trade and the new contracts.
4) The player could see out their contract and become a free agent.
5) The player retires and is unable to play again until the time their contract would have expired, unless they rejoin the team they were contracted to when they retired.
Finally, the most GS (guaranteed spots) you could give for FC would be 176, and the most for OD would also be 176. The most for "Either" would be 352 minus whatever you've already used on specific FC & OD spots. Warmups, tours and finals would not count towards guaranteed spots.
This would make everything very formal and I think the rules allow for little to no loopholes. Again, sorry for the long post.
EDIT: Dude, the post was longer than I thought.