I want to do model selection based on the best-fit/MAP/marginal posterior I find from an MCMC and likelihood maximization. I have a likelihood $\mathcal{L}(X|\theta)$, some informative priors $\pi(\theta)$ on my parameters, and I can find the posterior $p(\theta)$, the MAP $\hat{p}$, and the MLE $\hat{\mathcal{L}}$, all for different models.
I am now interested in testing whether one model $M_1$ is preferred over another model $M_2$ or not. I found that the most common way to do this is to compare the Bayesian Information Criterion
$$ BIC(M_i) = -2 \ln \hat{\mathcal{L}} + k \ln n $$
with $k$ free parameters and $n$ degrees of freedom in my model. If one $BIC(M_1) < BIC(M_2)$, then $M_1$ is preferred over $M_2$, so far so good.
However, the derivation of the BIC assumes that $\pi(\hat{\theta})$ is negligible compared to $\hat{\mathcal{L}}$ (or at least $\pi(\hat{\theta})$ is sufficiently nonzero). In my case, I see that this is not necessarily the case.
Is there an information criterion that includes the prior term in the comparison?
What is the reason that Schwarz (or others) ignores the prior term? Can't we use a criterion with $-2 \ln \hat{\mathcal{L}}$ replaced by $-2 \ln \hat{p}$ (comparing the maximum a posteriori)?