If you want to punish tanking, you need to punish teams that put out weak lineups for league games. If you lose a game with a lineup that's dramatically below league standards, your attendance and merchandise should take a serious hit for several weeks - why should the fans pay good money to go see a game if they're worried you're going to play a bunch of scrubs and lose by 80?
The solution to people not trying because it's profitable is to make it unprofitable to not try.
I understand where you are coming from on this. However, I do have an issue to raise. With cup games it becomes a challenge to manage gameshape. Unless you carry a team 12 man deep that can all play. If you have three tough games and can manage to win two of three, why try on all three when you know the third is futile? It's likely to mess up game shape.
Well, the easy response to that is imagine the fan response if a team said "Hey, we've got three tough games this week, but we're not going to spend the money it takes to have a deep roster, so we're going to lose one of the games by 100. We remind you tickets are non-refundable."
It's choices and consequences. If you choose to have a team that can only play two games a week and you choose to throw a league game to win a Cup game, then the consequence should be that your fans shouldn't be as willing to buy tickets to future league games. If you throw a cup game, that's fine, since it's a bonus competition and you don't get ticket revenue from that anyhow. But fans should be far more understanding when a team gets beat by an equally good team, and should be furious when a team puts a bunch of scrubs out on the court.