Postgresql: create role, schema and change ownership but not as superuser
Per documentation,


  You must own the schema to use ALTER SCHEMA. To rename a schema you must also have the CREATE privilege for the database. To alter the owner, you must also be a direct or indirect member of the new owning role, [...]


So in your case, you either need to be superuser or be a member of the role you are transferring the ownership to.

Ultimately, while I applaud your efforts, you're going to have a hard time managing this without some superuser use.  So I'd focus on locking down the superuser use, maybe wrap the steps in a few security-definer functions.