This is a bit of a hack, but try watching for changes to some file that is modified when the application opens a document.
Using launchd, you could save this as ~/Library/LaunchAgents/test.plist and run launchctl load ~/Library/LaunchAgents/test.plist.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
<key>Label</key>
<string>test</string>
<key>ProgramArguments</key>
<array>
<string>osascript</string>
<string>-e</string>
<string>try
tell app "System Events" to tell process "QuickTime Player"
set position of window 1 to {500, 500}
end
end</string>
</array>
<key>WatchPaths</key>
<array>
<string>/Users/username/Library/Preferences/com.apple.QuickTimePlayerX.LSSharedFileList.plist</string>
</array>
</dict>
</plist>
It won't work if you open multiple documents in a row, because launchd runs programs only at most every 10 seconds.