That is do not:
select a.bla, b.blabla from foo a left join bar b on (a.id = b.id)
Do:
select a.bla, (select blabla from bar where id = a.id) as blabla from foo a
I have reduced a big etl query with about 20 left joins from 2 hours running time down to 7 minutes by this.
And before you ask, yes the tables have been properly indexed, it is just that left join performance in sql server is very bad in some situations.