Here's how you fix all this shit:
extend last season and this season. Make the end of last season deal with the White Walker threat. Make this season all about the endgame. Start it off with Dany and crew taking King's Landing, capturing Cersei and holding her in the dungeon awaiting trial / execution / whatever. Dany is happy because she finally gets to sit on the throne.
But the citizens of King's Landing (and all over) still don't treat her with respect, don't revere her. She has nothing to offer them like she did the slaves, the Unsullied, the Dothraki. So over time she gets jaded, upset, goes a little power crazy. Maybe even goes to have some talks with Cersei in the dungeon. "How did you do it?" You still get Dany's whole "no one here loves me" thing, but it takes up more than 10 seconds in an entire season.
By the end of a 10-episode arc you can build up to Dany actually getting the best of herself and going crazy by deciding the only way she will actually ever have power is to rule with fear. Then have her go on a rampage or whatever.
Still follows the same structure, still ends with the same result. A lot of people would still think that Dany's character was betrayed and be disappointed that she went Mad Queen. But at least it doesn't feel rushed as shit for no reason, at least it might feel a bit more earned.
IMO this all hinges on the idea that Dany can't believably snap in the context of when/where she did, and I completely disagree.
She was asked to single-handedly sack a city astride an incomprehensibly violent power that she is bound to by birthright, and then upon her absolute and total victory against enemies who mocked and humiliated her every show of mercy she is expected to turn it all off – all of the fire and blood – in the heat of the moment and be the better person. She is expected to just swallow all of her pride and her grief and show mercy. But she doesn't. She can't.
She relishes in the violent catharsis of the moment, her power over this symbol of everything she has fought and suffered for her entire life. She doesn't care about these people, she cares about the power and right of the throne that is hers alone. Victory is hers. She is sending a message, and it doesn't have to make sense because its coming from a place of power and fury, instinct and emotion – not cold logic or reason.
I'm totally okay with Dany's turn, but if I was going to fix this season I would turn the Long Night arc into its own mini-season, and then the "final" season would be the campaign for the throne but stretched out for 8-10 episodes instead of 3, where characters are given more room to breath and all of the contrived plot beats are ironed out. You won't make everyone happy, but you can reach a lot of the same conclusions in a much more natural way.
Although part of me wonders if this is why they insisted on the short season and just wrapping it up like they did – they had already committed to Martin's ending, and knew people would hate it, so they just ripped the bandaid and hoped the fanservice (A Knight of the Realm) would suffice as a goodbye.