What I would answer on those questions:
4. Updates: only if corrections are allowed to be made. Otherwise it is just a new fact.
Deletes: if the fact tables contains snapshot, I delete snapshot data from today if the ETL runs twice or more by accident.
5. Best practices. You just can't answer that question correctly 🙂 Every company/individual has its own best practices.
Use logging, package variables configured with configuration tables, use standard naming conventions and datatypes et cetera...
8. I don't know it by hard 🙂 I only used a merge join once to join different sheets of an excel file together and put it in one table. For a merge join the data has to be sorted, for a merge, well, I don't know... I would surely avoid using them though 🙂
Need an answer? No, you need a question
My blog at https://sqlkover.com.
MCSE Business Intelligence - Microsoft Data Platform MVP