Can automator create symlinks but skip existing files?
Yes! You can do it easily in the shell script. The -h flag fits the bill, as described (sort of) on the ln man page. So instead of doing ln -s, do ln -sh.

Here's an example. Say you wanted to make a symbolic link of each of your downloads, which would exist on your Desktop, but you already have some symbolic links there. Then you could do this:

cd Downloads
for f in *; do ln -sh ~/Downloads/"$f" ~/Desktop; done;


For any files that you have that you already have symbolic links for, the command will print out:

    ln: /Users/******/Desktop/FlashPlayer.dmg: File exists


The command does this printing after running so it does not throw any errors nor require any additional inputs.