a) This is rather silly maybe... If I schedule the script to be executed every Tuesday at 4pm for example, and the pc is turned off at that time, this means that the script will be not executed for this Tuesday and it will have to wait another week to be executed again?
Take a look at anacron.
It is wise to set "root" user as the user for the specific program to make sure that it has all the necessary permissions to download my updates in any folder I specify in the script?
Wise? No. It is wise to have things run with no more permissions than they need to get the work done. Throwing root at the problem is just asking for trouble.