Each team has a budget based on their prestige. Each time the user pays for a player, all the other teams have the opportunity to do so as well
Each team has "hours" based on their prestige. Each day (or week), the user chooses to spend X amount of hours on each player that they want to recruit. Each recruit may decide to sign with user team, some other team, or wait another day.
User can pay for as many players as they want, and the other teams get the scraps :^)
I'm thinking the first option is the best compromise between complexity and simplicity, without making it too easy for the user. I'll probably start on that, even if we might change it later
priority #2