A lot of times you can alleviate the visual smell by creating helper views, I do not think there is a hard and fast rule of how many left joins are considered bad.
Unlike procedural coding, breaking down SQL into little bits and pieces can result in inefficient queries.