Yes, by limiting the script to run on the server only, you would prevent there being one bomb dropped per machine (since radio triggers run on every machine at once, even when only one person uses the radio). The problem, however, is that the menu system created using the artillery script is client-side so it won't be seen unless it is run client-side.
The way to deal with this in ArmA is to manually create each of the radio triggers in a script, since script-created triggers only "fire" for the local machine when the player uses them. This way, you keep the artillery entirely client-side, but since it is only run on one client at a time, that solves your issues. Incidentally, "isServer and (isNull player)" is true only on the dedicated server, so that the rest of the script still runs in SP or on a hosted MP server, which makes testing a lot easier.
; Create each of the 6 required triggers manually on each client machine so that they only "fire" locally.
? (isServer and (isNull player)) : exit
_trigger = createTrigger ["EmptyDetector", [0, 0, 0]];
_trigger setTriggerActivation ["ALPHA", "PRESENT", true];
_trigger setTriggerStatements ["this", "[""A""] exec ""arty.sqs""", ""];
; Create the other 5 triggers too...but I can't be bothered typing ;P