You could make a new upgrade and give it to all players when player 1 writes "-noair"
Then on all the units you can make them have a requirement under show which is basically: not(Count upgrade(*Your custom upgrade* completed or better))
If you did this, you would only have to add the new upgrade for all players instead of disallowing all things. However, this is a bit more complicated solution and I take it you're not that experienced with the editor.
For you, the best solution would be to do it through picked players. I don't know why it didn't work for you. Can you show us the trigger where you used picked player? Remember that you have to have it in a "Player group - pick every player" loop
Also, I don't have the editor in front of me so some actions and stuff might be named slightly differently.
For the message, I usually use debug messages. Although, I think there's an action in the UI category.