Vim has dot syntax knowledge out of the box, and seems to re-indent dot files for me.
I removed all indentation, went to the top of the file, and did =G
Your global tab-related values determine whether to use tabs/spaces, how many, etc.
If you want, you can create a script with:
> vim -W reIndentAndSave whatever.dot
Edit your dot file by re-indenting from top with
gg=G
...Save
:x
Then, for each file you want to re-indent via the script that you just recorded,
> vim -s reIndentAndSave somegraph.dot