I am personally using MultilabelStratifiedKFold. It seems to be the be the most appropriate for this task. What are is your take on this ?