Change the Legendary Reset Date
Why not make the legendary rank resets take place 4 weeks after the player joins it? By this, I mean the reset would be based on the individual and not by the entire game. I'm not really liking how there is a specific time when everyone gets reset. I would recommend the following rules:

1. Once a player enters legendary rank, their reset timer starts at 4 weeks.
2. This means they have 4 weeks to get as high as they can before the reset. When the reset timer is done, then the reward is given and the reset to either rank 50 or staying in legendary occurs.

This will accomplish the following things.
1. It will eliminate the legendary players who abandoned the game after 4 weeks.
2. It will stop the influx of legendary players who simply want to get the rewards for the reset on the last day.

Change the Rewards
I would also recommend changing the rewards to something a bit more significant to make people want to rank higher. If I had to decide whether to play in rank 50 (easier players) than legendary ranks, just getting 1 extra card and 1 extra upgrade item, +25 or so tickets and gold, it's really not worth it. So I would stay in the lower rank to get easier wins. But, if you gave an extra 5 cards, 5 upgrade items, +200 gold and tickets, then I would consider playing at higher ranks. It just seems to me that the reward progression is not proportional to the level of difficulty at higher ranks. This may discourage some sandbaggers.

Eliminate Sandbagging
I think, if you really want to eliminate sandbaggers, you would conduct matchmaking based on the cards being used and not the rank of the player. Here's how I would rule it:
1. Each card = 1 point per upgrade
2. Match new kid level to new kid level first.
3. Match total card points (from step 1) to closest number within 3 points.
4. If no match within 10 points, step down/up new kid level.
5. if no match within 2 new kid levels, then start over with step 3 but extend the card point range to within 5 points.
6. if no match within 2 new kid levels, then start over again but extend card point range to 7 points.
Doing this may level out the playing field since the common thing to do is to make level 5 common cards. This will make it so you are playing people with the same amount of upgrades in their deck. So if you run a full level 5 deck, then you should be matched up with another player with a full 5 level deck. Sandbagging will not be possible using this system because you are using equal leveled cards. The ranking system will be more true to number of wins regardless of how strong your deck is.

Just Hoping
I would like the free pack refresh to be lowered to 3 hours rather than the 4. But that's just me wanting to get more rewards.
I would like to see other more ways to get the cards we need to level up to level 6. Currently it makes it near impossible to level a rare or epic card to level 5 in a reasonable amount of time.