geom_dl from the directlabel package with automatic data filtering to avoid repeated labels and
geom_label_repel and geom_text_repel from package ggrepel make labels that try to avoid sitting on top of the data or each other and which in the case of geom_label_repel have a boundary and a non-transparant background.