There does not really seem to be a need for this behavior as all the information postgres needs is in memory at this point. I propose with a patch to just recreate pg_control on updates if it does not exist.
Or at minimum create said file with a different name in PGDATA so an admin can rename it should they wish to accept the in memory version as being a valid replacement for whatever ended up happening to the original.
Even if it can be safely rebuilt having pg_control removed out from under a running server seems like something that shouldn't happen and the server is in its rights to panic if it does.