Any method will be "sensitive to a small number of cases", meaning that a small study has lower power to detect features of interest than a larger one. With multivariate data, you are not only comparing means -- you are typically estimating a covariance matrix as well, and this requires more data to do with any accuracy.
It's worth considering what happens in MANOVA. Basically, the algorithm looks for linear combinations of the variables that do a good job of distinguishing the groups. Effectively, it has dimension reduction built in. If your variables are actually independent, MANOVA will not do better than a bunch of univariate comparisons (t-tests).
Let's look at your suggestions:
Remove variables. Certainly, if you think some variables won't distinguish the groups, then remove them.
Reduce dimensionality. Best option, if you have subject-matter reasons for combining the variables in some way. Perhaps the sum of your variables would be a good measure of something. Instead of letting MANOVA find the best linear combination, you supply one, based on theoretical considerations, and do a t-test of the scores.
Duplicate cases. This won't work. You can't make a singular matrix become non-singular by duplicating rows.
Use an alternative to MANOVA not sensitive to a small number of cases. The two-sample t-test can actually detect group differences on very small samples. You could do t-tests on all your variables, but to be honest, you would need to adjust the significance level using a Bonferroni approach.