Restrict access to new database by default
I think you cannot do this using only the tools PostgreSQL offers. 

On one hand, there are no default privileges, as you noticed. The REVOKE command issued on a template DB (template1 in most cases) has no effect on the created DB. Last, the event trigger mechanism does not support shared objects (including databases). 

I think the best way would be to create one DB for them each, and confine them to that one from wherever you create the users currently.