You're probably right. Considering the number of asylum seekers from Zimbabwe, this is likely the unstated reason why you were refused.I am also a holder of a Zimbabwean passport and perhaps the socio-economic state of my country affected it inadvertently????
Your previous travel/stay in Australia was for work reasons. You don't have a history of tourism/sightseeing to other visa-required countries. You have previously traveled to countries that are liberal in issuing tourist visas. Also, you don't have family/friends in Canada, Basically, it would not seem like you're visiting for sightseeing