In learning with unbalanced classes, it is often good to stratify the data (not as in StratifiedKFold) by making the classes the same size, either by oversampling or undersampling.
I think it would be good to have both a utility function that does that once, and a cross-validation object that does that differently for all folds.