A launchd agent watching
/etc/resolv.conf, and two network related .plist files under
/Library/Preferences/SystemConfiguration/ seems to work for me (in Mac OS X 10.8.4):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" \
I had previously only used /etc/resolv.conf, but there were cases where that wasn't enough.