How to remove empties without messing up the model?
Empties are used for rigging and every empty will be having it own vetices to modify or rig. If you will remove them your model will go to its original state which a look a bit messy and filthy, They are nothing but just objects which don't contain any vertices data but just support to modify other meshes just as a lattice object will. It mean that you can't remove them but you may hide them by selecting them all and pressing h(alt+h will inside them) and you will not able to see them.
Or you can move all the empties to a different empty layer where there is nothing and hide that layer.