There's a simple solution to stop people forfeiting on purpose: if you forfeit a game you receive no training for that week.
That stops tankers from training, but not those who are just filling their pockets. A reasonable suggestion would also include losing all TV money for the week for the first forfeit and increasing that for subsequent ones, but that doesn't address the problem of teams fielding three (or five) scrubs so as not to field a walkover but still not really be competitive. Including margin of defeat of course addresses that but then teams will then be afraid to promote on the fear that they will be beaten heavily on a routine basis, and this would just lead to a new form of tanking where teams would just try to not win in the postseason. And making promotion extremely valuable would mean that either teams would just yo-yo looking to profit in the long run by the promotion bonuses or relegation would need to likewise be dramatically harsher, which would again lead to a real lack of desire to promote.
If there was a simple solution, I think this would have been done seasons ago. The problem is, the only real solution is to have truly intelligent fans and a truly intelligent economy that's not something that's easy at all to accomplish - because at some point no matter how it's programmed, users will figure it out and people will flock to whatever strategy is perceived as being the strongest, whether or not it turns out to be true.