I still like the idea of setting a budget for the team, in the form of a pay pyramid with the most valuable guys at the top but with an eye on paying all the players. If you pay enormous amounts for one or two players that takes away from what can be paid to the more journeyman types, who nevertheless contribute to the team. The league really sets the total amount available and assuming the big market teams will be willing to pay that much, then the distribution among the players can be argued, but clearly has to leave enough to get quality supporting players.
As far as the length of time allowed for a contract, I see it as dependent upon the age of the player. Most players start to decline in their early 30's and by their mid 30's the change in capability becomes evident. Then their are injuries which haunt the careers of most players. Pitchers are in a special category as few of them are still able to produce into their later 30's so the risk goes up. Most pitchers also incur injuries so are more fragile. I would set the 10 year limit on the absolute star who is 25 or 26. Between 27 and 30 I would go with 7 or 8 years, just over 30 5 years and 33 up maybe 2 or 3 years as an upper limit.
Historically, we will be carrying Pedey for a few years, perhaps as a reward for his long and valuable service. Panda was a mistake and Price might turn out to become a burden. If we lose a guy when staying within reasonable guidelines it is too bad, but remember, other teams are accepting the risk that management sets as being too high for us to accept. In the long run, being prudent should work out the best.