Is there an option to have it automatically replace missing fonts with a specified font?
Form my understanding you can't replace missing fonts until the document is open. To avoid the missing fonts modal dialog, you can set
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.NEVER_INTERACT;
before opening the document and then make your font substitutions. Don't forget to reset the userInteractionLevel when your script is done!