Really? On what airline? I booked an all-inclusive last year to Varadero (not an AI kinda gal by any means but I was desperate) and had to endure a 6-7 hour layover in Toronto.
Had it been during the day it would have been tolerable, but we landed in Toronto around midnight.
Transat and Sunwing fly direct. I don't think Air Canada ever flies direct to Cuba (or many places) from here. Not the greatest service on those airlines, but it's quicker and beats that nasty lay over.
But.. you know, depends what time of the year. They may only run their charters in high/winter season.
If you don't want to do an AI, you can just book the flight then do your own thing once your there.