There are some plugins helping on this.
I would only displace labels in the very final stage of a map production, otherwise you will have to redo it a lot of times to get the desired results!
I sometimes use "Layer to labeled layer" plugin for this. Using it, it will ask for a label field and then activates labelling for the layer.
Furthermore it adds a lot of fields beginning with "Lbl..." to your attribute list and then links the label settings of your layer to these fields (You can see this from the yellowish symbols in your label properties)
These fields do not only serve to store informations about your label position, but also about font size, colours, rotation etc
Make your layer editable, and you will see that the "Move Label"-Button will become activated (because the plugin automatically set your X and Y-Coordinate settings to the new fields LblX and LblY)
Open now a print composer and add your map, to able to see how displacing the labels will work out for your final scale.
Change to position of a label with the "Move Label" button. The label coordinates are now stored within the attributes list.
Check the new position in the print composer by refreshing the cache.
The nice thing is, that the rest of the labels are still placed automatically, so you really only have to move those labels which do not fit automatically.
Entering data into the other fields (e.g. via Field Calculator) will enable you to give your labels individual sizes or other font properties e.g. by defined categories.