I know that this is surprising to the user (and, thus annoying), but there really isn't a workable fix from discussions we've had about this previously. I thought there was already a closed issue on this in Jira, but I can't find it now.
Everything under domainX/docroot belongs to the user, and in any production system where static content would end up being displayed, the index.html page should be replaced by a site's home page. If there's an app deployed to /, some "Application will be available shortly" kind of message should be there instead. So the contents of that index.html file could be anything. Replacing it would be trivial since the server could just copy the one from gf/lib/templates/docroot, but knowing when to copy it is impossible. The server would have to keep a copy of every version of index.html that had been the default in previous ones, and check them all against the current one. And if the user changed it in any way, there could still be old references to the version in there since it wouldn't be replaced. There's always the chance that the user didn't want it replaced anyway since this is static content.
Making this worse, it's a valid upgrade path to start a 3.X domain in a 3.X+1 server without ever running asupgrade or "asadmin start-domain --debug" – a 3.1 domain should not need to be upgraded to run with a 3.1.1 server. So the code that parses the index.html file would need to run on every startup, thus affecting startup time for something that may never need to actually happen.
So I hope you can see that it's not really a simple matter. Conceivably there could be some other startup option like --upgrade-docroot that overwrites the file, but if a user actually remembered such a detail then s/he could just do a 'cp' instead.
I'm not a member of the GF team anymore, so I can't change the resolution of this issue, but wanted to share my comments about it. Maybe you can think of a solution that's eluded me! Will be transferring to someone else to see how this issue should be handled.