You don't need gsub to handle separators in awk. awk handles separators natively, via the FS and OFS variables. Just make sure you alter the line before printing it -- even something useless like $1=$1 will do -- and it'll change all the separators for you.
Also, pretty sure that redirection won't do what you want it to -- replace in every file. You can't read and write the same file at the same time with shell redirection. You also can't redirect to several output files at once with $@.