How can I run a script automatically when changing Location?
Not specifically that I know of... but there are apps that can be aware of your location and load different profiles based on that location and/or run other actions.

Have a look at MarcoPolo (http://www.symonds.id.au/marcopolo/) and Sidekick (http://oomphalot.com/sidekick/).  MarcoPolo may not be up-to-date with the latest versions of OS X.. Sidekick looks a bit flashier so probably is more up-to-date but may not be free.  But hopefully one of them does the trick for you!