Sparse data with zero cells in logistic regression model

I would like to apply the traditional logistic regression, but there are limitations. My data has a total of 18 variables (or 36 coefficients in the LRM with intercept and dummy variables) and 101 observations. My predictors consist of a mix of continuous and categorical variables.

I obtained the following warning messages:

1: glm.fit: algorithm did not converge 
2: glm.fit: fitted probabilities numerically 0 or 1 occurred 

The p-values are all 1 or nearing 1. I increased the maximum iterations by specifying control=glm.control(maxit=50). The algorithm converged with a number of fisher scoring iterations of 28, but the following warning message still appears and the p-values are still so large at 1.

Warning message:
glm.fit: fitted probabilities numerically 0 or 1 occurred 

I understand from reading some posts here that this is due to complete separation due to small size / sparse data, where some cells have missing observations. I hope to seek some advice on how to proceed. Which of the following should I attempt to do:

  1. Exact Logistic Regression Model
  2. Penalised Regression (• Penalized maximum likelihood logistic regression (Firth method)?)
  3. Bayesian Analysis

I explored (1) and read about elrm in r, but I gathered that they only take categorical predictors. Any resources out there that I can refer to? Or perhaps the name of the method that is suitable, so that I can search on the internet.

Thanks!