Singularities mean that you don't have enough data spread throughout key regions of your data set. You need to discover what portions of the data set have adequate data coverage and what portion of the data set have inadequate data coverage.
So,fit more simple models with fewer independent variables and/or combine some of the levels of your dependent variable. You won't report these simpler models (though maybe you should), but by learning which models generate the singularity message and which models do not, you'll learn where the data allows you to make substantive predictions and where it does not. It will take a lot of trial and error, but eventually, you will be able to find the cause of the singularity.