What are best practices for organizing namespaces?

relationship between global namespaces and non-global namespaces

Take a look at this forum post that has information about global namespaces, as well as multi-cluster replication docs.

Should there be a global namespace for each non-global namespace which can operate in multiple clusters?

If you have multiple clusters I believe yes you would need to have one namespace promoted to global on active cluster. You can’t have a workflow execution active on multiple clusters simultaneously, but you would need to have workers running also on all the non-global namespaces on all “standby” clusters in case of failover.