Redraw Texture Based Off Disfigured Mesh
I think you can use a bake process to do that.

Let's say we start with this dragon (anyway, it does not know at all it is not) :



And you for instance want to separate the horns from the head :



You here want to remap these UVs like that which does not match the initial texture :




Create a new material and a new texture for the head
Go to node editor and add a texture node to it (with the corresponding texture). Keep this node selected as below (this selected node indicates to Cycles where to bake to) :





Do the same for the horns part (new material, new texture and same node setup)
As we will bake and bake uses environment light, set it to full white (RGB = 1, 1, 1) and a strength of 1 : this will keep the same colors as the original





We begin with a bake for the head
Set the new head at the exact same place as the original
Select the original RMB
Then select both the new head Shift+RMB
Go to the bake section in the render panel
Click 'selected to active'
Adjust a little bit the 'ray distance' in order to avoid artefacts (this may be tuned depending of your mesh)
And click 'bake'





Do the same for the horns :




Instead of doing that piece by piece, you can also rejoin all your meshes once you have recreated each UV map and each material (eventually remove doubles after the join) and bake them all in one time.