If you can modify the script then modify it so that it says
This would make it use the previously set value of
$a is empty or the variable is unset. This is a standard parameter expansion.
You would then either use
The latter of these avoids setting the variable in the calling environment and only sets it for the script's environment.
If you can't modify the script, then the script would always override your
a value, no matter what you did. In this case, contact the person who maintains the script and explain the situation. If worse comes to worse, use a copy of the script that you can modify, assuming the script does not expect to be located in a particular location.