When I think of Kirk's death in GENERATIONS, I think of the end of BABYLON 5's "COMES THE INQUISITOR".
"This is my cause! Life! One life or a billion, it's all the same."
And the inquisitor goes on to say if she sacrifices herself to save Sheridan, she'll just die alone in the dark and with no one knowing she did sacrificed herself to save another.
And she was fine with that.
Doing something like sacrificing your life to save others IS a noble thing. When others hear about, you are rightfully called a hero.
There's been a lot of memes written about the thin line between heroes and villains, and how every villain is "the hero of their own story." The hero and villain usually also have similar origins. They're both usually people that have grown up abused, impoverished or been wronged. They're people who feel they or the ones they care about are owed a certain sort of justice from their perspective. And they use their abilities to go beyond the rules to achieve their ends.
I've always thought that the line which separates heroes and villains in stories is selfishness and sacrifice. The root of all evil is selfishness, and at the base of all heroic nobility is sacrifice.
A hero will sacrifice everything, even their own lives, to help the people they care about.
A villain's actions are in service of their own desires and wants (whether those desires started out pure or not), no matter how many people get hurt or in the way.
What makes Spock a hero is that he chooses a "third way" to the "Trolley Problem," by sacrificing himself to save the Enterprise. What makes Kirk and the rest of the crew heroes are they're willing to sacrifice everything to save Spock.
You really hit the nail in the head here. The execution is just so weak in Generations. Ziyal’s death in DS9 elicited more of an emotional reaction in me than Kirk’s in Generations. Which is crazy because I love Kirk and consider him a cultural icon, while Ziyal was just fine but hardly a franchise lynchpin.
I’m also still ridiculously annoyed that Kirk’s body wasn’t taken back to Earth for a proper state burial and was instead hastily buried on the (nameless, I can’t remember?) planet as though he were Picard’s dead pet hamster or something.
Moore and Braga deserve a public flogging for that movie’s epic failings

I'm not sure if it would have worked (especially since according to reports they couldn't get most of the TOS to come back, since some said they felt
The Undiscovered Country was a good ending for their characters), but if I were going to rewrite
Generations from the ground up I would have possibly made it a movie where there isn't a villain.
Have the Enterprise-A and Enterprise-D get caught in the Nexus at different points in history but find each other within it. You can use the fantasy of the Nexus as a way to explore the characters and learn more about them and their issues (e.g., Picard's regrets about family, Data's uncertainty about emotions, Kirk's being a man without a purpose anymore, etc.). One key difference I would make is that the Nexus is NOT exactly a heaven-ish place. It's more dream-like, and can go in either direction. Or maybe even people have gotten tired of its fantasies. Maybe there are people there who want out and that can be "heroic" element of trying to save everyone that has been caught in the Nexus over the history of time.
Between the Nexus fantasy sequences then have the main story be about the two crews coming to a point where they DISAGREE about the proper way to escape the Nexus and return to their respective realities. And let that be the main conflict that carries the movie. Create a dilemma where Kirk and Picard lead their crews in arguing for what is "right."