This is pretty well done.
I do have a suggestion for an alternative that uses only one db.
You could do the ETL into different tables instead of different databases. Then switch a set of views to point to the new tables from the old. This might let you run without killing any users.
Switching db's has other advantages though.