Statistical overdispersion has a very specific meaning: it means that the actual variance is only proportional to the assumed variance: implying a simple correction can be applied (quasilikelihood, Nedderburn 1972) to calculate variance estimates for parameters and predicted values.
Your implemented test of overdispersion in R, however, can only tell you so much. Positive findings can be symptomatic of several problems regarding the variance structure including (but not limited to)
- mispecification of the mean model (including, but not limited to, omitted variable bias, incorrect link function, and/or incorrect transformation of predictors)
- hetereoscedasticity not related to overdispersion
- incorrect intracluster correlation structure specification
- actual overdispersion
Basically, as an analyst, I would only look at those sorts of tests to tell me if the most stringent modeling assumptions are being met. The lack of specificity for a positive finding is worrisome.
If you are interested in estimating a marginal effect, then a much more reliable and robust approach would be using generalized estimating equations. In all of the variance problem scenarios that I have listed above, a GEE is capable of producing valid variance estimates whereas other model based approaches can be completely biased. Basically, this is because GEE produces empirical sandwich based variance estimates, which are first order approximations of the bootstrap. Unlike the bootstrap, GEE can handle correlation structures. GEE is also far more efficient. It eases interpretation and modelling assumptions so that the relationship between two variables is the primary focus. This allows the relationship to be easily summarized.
The R packages for calculating GEE are
geepack, and for sandwich errors is