Have you noticed that the only time the season has gone really bad is this time when we turned into 4v4? You may think that this means less players will get to play, but just increase team counts to compensate. If the maximum roster for this season is 8, and there are 20 players, there is 160 possible team spots. This can also be achieved by adding 5 new teams into each division and lowering the maximum roster to 6. This actually makes for 20 extra spots that can benefit the league's growth. Why fix what isn't broken? Instead of making the hassle to change the game layout, why not develop on what you've got so far.
Scrap the draft, keep teams the way they are.
You don't see something like the premier league or la liga have teams pick players to play for their team every year from scratch. Instead, have some sort of transfer window in between seasons so teams can keep most of their players and make subtle changes where needed. This way, there is less of a need to prepare for the new season as the teams are already sorted and just need to play their games.
Don't lock the free agency until a certain time.
One of the reasons there have been many defwins and wildcards is because teams can't modify their team due to the lack of options they have at the start of the season. No one wants inactive people, so trading is out of the question. Cutting would just use up your limited resource, so that's out too. Even if you did, you'd have no one to replace him. The free agency is vital for not having the league with inactive teams and such.
Now I've got the key things down, here are some things I'd like to see, but aren't really necessary.
Introduce a money system
Captains get £50k to spend on players in the free agency that are given price tags depending on their activity, skill and position, etc. GK's are worth more than FWD's because there are less of them. Captains can also cut players off for money, half of their original price tag to be precise. These captains can earn more money by winning games and can earn a chunk of money or a bailout card (explained later) by winning a league or cup. The captains can also use money to buy wildcards, cuts and other stuff like that. However, the money someone else gains from winning a match will be taken from your amount if you're the loser, meaning money isn't permanent. The admins can have a bank system as well, and have £500k in the bank to start over with. Captains can borrow this money for a certain amount of time to achieve something they want, but have to pay back within the certain amount of time. If they fail to do so, a punishment will be given, unless they can give a bailout card which will mean they don't have to pay the money back. Punishments can include defloses, suspension and forced to cut players for money to pay back what they earn. Don't take this seriously, as this is what I'd love to see but is hard to implement.