Data DID NOT have to die...
In all fairness, it was a pretty good movie if you can excuse the death of Data. Personally speaking, if you think about it logically, he didn't have to die like he did. The transporter went off line on the Enterprise and they couldn't beam him back. First of all, Picard made a huge mistake because he allowed this to be personal. That weapon would have killed everyone on the ship and then Earth and all he was willing to throw at them in order to stop Shinzon was ONE MAN? Earlier in the film they even commented on the prowess of the Reman shock troops, so how long do you think he would have lasted if that hadn't been scripted? Two minutes? (Even if the Reman wern't great fighters and the Romulans just threw them into the ring first -to save Romulan lives- that's still hundreds against one man!)
Now on to my point. Why didn't Data just go down to the shuttle bay and then fly over to the Scimitar? They had no weapons, no shields, nothing. He could have beamed Picard on-board and then locked on to the bridge and opened fire. Even if the shuttle didn't have enough fire power to penetrate the hull, I bet had they used the shuttle and beamed back to the Enterprise and then set it to collide with the bridge that would have done it too. Either way, they had the time and energy to fix that without causing Data's death. I understand that they wanted to signify the end of TNG, but do it differently! DS9 was over, it would have made more sense if Worf had died... At least its an honorable death. Shinzon, a little weakling human, against Worf? My money is on Worf taking him down in under 30 seconds. Picard has proven time and again that he's not the best fighter. Just saying.
DATA DIDN'T HAVE TO DIE! Yes they wanted the end to have resonance, they wanted hard feelings in order to evoke emotion in the audience, but still...
R E S I S T A N C E IS F U T I L E !
R E S I S T A N C E IS F U T I L E !