I will add one more point to this, could you check the detection itself with plots similar to what I did here: ICA find_bads_ecg Function - #4 by mscheltienne
At least you will be able to see which kind of data produces false positives, and it might give you clues on what to do next.