If you are going to change the UV layout, then you'll likely want to remap the vanilla texture to the new UVs as a basis to work from. If you are using Max, you can do this with Render To Texture.
Starting with the original mesh, add an Edit UVW modifier to the stack and drag it underneath the Skin and Odyssey Trimesh modifiers, but above the Editable Mesh (if you select the Editable Mesh in the stack first, it will automatically add the Edit UVW modifier directly above it). Change the map channel to 2, and then edit the UVs as you see fit.
Now go to Rendering -> Render to Texture and (making sure your mesh is selected) under Mapping Coordinates select Use Existing Channel and change the channel to 2. Under Output click Add and choose DiffuseMap and change the save location, file type, and size as you see fit. Under the Baked Material section tick the Render to Files Only button. Hit the Render button and you should get a copy of the original texture mapped to your new UVs.
Once that is done, you can go back to the mesh, select the Edit UVW modifier and change the channel back to 1, then right click on the modifier and choose Collapse To to bake the UV changes into the mesh without destroying the skin weights.
If you have already modified your UVs, you can simply add an Edit UVW modifier and choose the Save option to save out a copy of your new UV co-ords to a file. Then you can load them back in to channel 2 on the original version of the mesh (assuming you didn't modify the mesh/change the vert number).
Sure, but my preference would be to teach and encourage best practice for people new to the concepts. Once you know what you are doing, you can do as you please, but if you learnt how to do it properly then you are less likely to half-ass stuff you release.
Well the "proper" way that you would create a player head mod for the PC version involves editing appearance.2da, heads.2da, and portraits.2da (in addition to the head model and textures, but you can use the vanilla ones for Bastila). I have no idea what the deal is with Xbox 2DAs, whether there is some big endian/little endian thing going on. You could try going that route first, although it would require extracting them from a BIF, presumably. If the Xbox data is anything like the PC, they should be in a file called 2DA.bif. You could try copying that and the KEY file (probably chitin.key) to your PC, then extracting it with unkeybif.exe from Xoreos Tools. Then you could use convert2da.exe to convert the required 2DAs to CSV. Then you would follow any standard "adding a player head" type tutorial to add the new data, then use convert2da again to convert the CSVs back to 2DAs. Then you'd transfer the modified 2DAs back to the Xbox, putting them in the Override folder. Like I said though, I don't know if Xbox 2DAs are different from PC 2DAs, so I have no idea if that will work.
Assuming that doesn't work, the other option is the more brute force route, replacing one of the existing player head models with the Bastila head model (P_BastilaH). This will require changing the Odyssey Base name, the quickest route being to decompile, edit the ASCII model, then recompile. MDLEdit can handle Xbox models, so that should be fine, although you'd presumably want the Xbox supermodel (P_BastilaBB). Those should also be in a BIF file. You'd also need the Bastila head textures, which are in ERFs on the PC version, not sure for the Xbox version. I'd suggest trying the 2DA route first though and seeing if that works.
If it's an NPC head then all you need to fill in (aside from the model name in "head") is the "alttexture" column with the value for your new texture. It should be noted however that this only works in TSL. In K1, you would need a new head model, as K1's heads.2da lacks the same base texture override.
There shouldn't really be too much you can do with PS that you can't do with Gimp. The base functionality is all the same, it's just missing a few PS specific things like content-aware fill (and people managed just fine before that was invented).