Well, for one, I'd put the action on the vehicle, not on the player. That way you don't have to worry about the player deactivating the nuke 10 km from the car!
nukeCar addAction ["deactivate Nuke", "deactivate.sqs"];
Then, in the script, you should make use of the standard parameters sent to action scripts to avoid having to hardcode player in the script or a global variable to store the action index:
_actionObject = _this select 0; // The nuke car.
_actor = _this select 1; // The player OR AI soldier performing the action.
_actionIndex = _this select 2;
_actionObject removeAction _actionIndex; // Remove at start of script, to prevent additional use of the action during deactivation process.
TitleText [format["Deactivating Nuke"], "PLAIN DOWN"]
~1
TitleText [format[""], "PLAIN DOWN"]
_actor playmove "medic"
~6
_actor playmove "null"
TitleText ["Nuke is deactivated.", "Plain"]
~1
deletevehicle t4
deletevehicle t5
exit