You can tune a bit your x axis either by automatically abbreviating labels as in
p + scale_x_discrete(labels = abbreviate)
or you can provide abbreviated labels yourself as in
p + scale_x_discrete(labels = c("Congenital Rubella" = "C. Rub.", ..., "Total tetanus" = "T. tet.", "Yellow fever" = "Y. fever")
See: http://docs.ggplot2.org/current/scale_discrete.html