I really like Canizales as a fighter but I feel like hes a tad overrated, despite making many title defences he didn't really beat a marquee name. I'd go with the hard hitting Olivares by stoppage.
Peak Olivares that destroyed Lionel Rose would have crushed Canizales. Canizales' only chance against Olivares is if Olivares were to have fought the day after a night of hard partying.