SOOOOOOO I have thought about this a good bit.
I am going to preface this by saying that I am truly satisfied with the main story arch as is. So all of these ideas are things to make the story better in my opinion, but not to completely overhaul everything.
Up to the beginning of the Battle of Kaer Morhen nothing should change. It is wonderful.
During the battle of Kaer Morhen, characters that are not absolutely needed for the main plot after that point should be able to die depending on how many people are recruited during Brothers at Arms (i.e. pretty much everyone except for Yennefer, Avallach, Triss, Dijkstra, Ciri and Geralt - all of these are needed for the main quests in Novigrad). Roche is needed to complete Reasons of State ... but if he dies you just can't do Reasons of State. It would function similarly to the Suicide Mission in Mass Effect 2. Now since it is not the final mission, I don't think you should be able to "fail" at this point, but I think there should be more consequences. All the people carry a certain value to the Defense of Kaer Morhen. If you don't recruit anyone, everyone but those listed above die. If you only recruit some of the other allies, Vesemir + 2 or 3 others die (from Roche, Ves, Letho, Lambert, Eskel, Kiera, Ermion, Zolton, Haklmar, his living buddies, any others I'm forgetting). Who dies of course can't have side quests after this point. But that would make the mission even more tense. This would reward you for doing the side quests for the bothers at arms characters earlier in the game.
Second change would be at the end of Through Time and Space. The dream should have been a playable linear mission through Ciri's eyes since she is the person in the room who actually has all of the information about how the king died. Flash through several of the scenes in Chapter 5 of The Lady in the Lake. That would provide a great deal of back story to the Wild Hunt and explain what they are about and why they are after Ciri.
Then everything (with maybe a few more conversations with other characters - especially Triss) is the same until you get to the final battle during on Thin Ice. I think rather than just having Caranthir freezing everyone in the battle, it would be batter to have the Wild Hunt realize what is happening with the Witches magical trap and have Caranthir attack them. The Witches (who normally are not damsels in distress at all) have to remain completely focused on the spell they are casting to hold the Wild Hunt in this dimension. He first targets Triss and Margarita. Geralt cannot help them because rather than be completely frozen, he is stuck in battle. So Ciri teleports to save the Witches. The fight between Ciri and Caranthir goes as before, but Ciri also has to protect the Witches from other Wild Hunt members. When you get Caranthir to 2/3 health he opens a portal and flees over to Yen, Phillippa and Fringilla. You fight some more, again protecting the witches. When Caranthir gets to 1/3 health he flees back into the thick of the battle and Ciri chases. When you get him to almost dead, a cut scene begins like before and Ciri breaks his staff but he then is about to kill her. Rather than her Teleport away, Geralt saves her and pushes Caranthir away. She then awakes and teleports away. Geralt and Caranthir fight as before untul Caranthir is dead and teleports into the water as before.
Geralt goes to find Eredin and fights with Crach until Eredin is at 1/2 health. Eredin will have allies you have to fight as well. Then Eredin kills Crach. Fight continues as before going into the other dimension until Eredin is almost dead. Eredin then teleports back to the ship where you hack away at the rest of his life. Cut scene begins where Geralt is almost killed by Eredin but Ciri teleports in and saves Geralt. She then takes Geralt to the tower on Undvik, and with Avallach explains what she has to do. Geralt can say whatever he wants, but Ciri forges ahead. I think Avallach should have gone with her to provide some of the exposition.
Then you actually play the final scene with the White Frost. I'm sure they could write it better than I ever could ... but the important thing is to explain what Ciri can do to hold off the White Frost without dying. Depending on Geralt's conversations with her in the past, Ciri either lives or dies. Maybe his choices in those little events lead her to make specific choices once in the White Frost, and those combination of choices lead either to Ciri alive or Ciri dead. I.E. there is a time where she has to perform an especially difficult teleport or other time magic-y task - that will make the journey through the white frost easier. If Geralt told her to stick up for herself with the lodge she has the confidence to do it. But if Geralt went with her, she is unable to complete the teleport and it makes the journey much more difficult being traversed by foot. That is a really bad example. But you get the point of how prior choices could effect Ciri's journey through the White Frost. Then at the very end comes the scene where she has to perform whatever it is she can do to ensure the world is "reborn with the new sun" as described in Ithlinne's Prophesy. And depending on the combination of prior choices she ends in a place where she either stops the White Frost and lives, or stops the White Frost and sacrifices herself, leaving Avallach to tell Geralt her fortune.
Changing these few parts of the game (which are all linear missions - making it less difficult to change - though still a lot of stuff) would add more depth but keep the story largely the same. And who knows, maybe more people would like it the way it is now. I certainly like the ending by and large ... I just think it could have been a little better. But again, CDPR knows what they are doing more than I do. Maybe it's best to just leave it be and be happy I got to play a game like this at all.
Rant over.