Based on my own experience, albeit with a smaller number of inputs than you are using, here are some comments & suggestions that I hope might be helpful to you:
A) Matthews correlation coefficient is generally a good, unbiased metric. I had a very similar problem with zero values of MCC sometimes occurring incorrectly. If you are using python, as i am, then your problem may be the same as mine was, as follows. In calculating MCC, the denominator term involves taking the square root of (TP+FP)(TP+FN)(TN+FP)*(TN+FN), all parts of which are >= 0. In the code, there should be a "> 0" test before evaluating the square root. With TP, FP, TN, FN all being integers, the true value for the denominator of MCC may be a very large number and, although python itself can handle integers of any size, numpy cannot and gives overflow errors in int32. As a result, the denominator calculation for MCC is sometimes an overflow and an apparent negative result, which will then give a zero value for MCC. There are several different solutions to this but effectively they all correspond to forcing TP, FP, TN, FN to "float" in the MCC calculation. For me, this worked fine and removed the erroneous "zero MCC" problem.
B) Using ROC is fine and, from the ROC chart of TPR vs FPR, the difference TPR-FPR is in fact equal to Informedness, a measure of the distance-from-random, which you are obviously seeking to maximize. If you display unit-slope iso-quality lines on your ROC chart, you may find this to be a useful visual display tool to help you.
C) The other good unbiased metric to complement Informedness is Markedness, which is in fact an unbiased version of Precision and is defined as Markednes = TP/(TP+FP) - FN/(TN+FN).
D) The MCC, which you are already using, is just the geometric mean of Informedness & Markedness, so basically you can either use MCC as a single metric, or both Informedness & Markedness together. Whichever you choose, these 3 metrics are generally better than other alternatives such as F1 score because they give a measure of the quality of your ML itself, without the problem of results being biased by changes in input data.
E) Although using MCC as a single metric may be convenient, you can probably gain more insight into what is happening if you look at your ROC chart and values of Informedness & Markedness.
Best wishes.