Why is the head of my custom skin white?
There are two likely possibilities here.
1. You didn't colour in the head in the head region.
Minecraft skins have particular regions for particular parts of the skin. Wherever you're colouring, it's not where the head is supposed to be.
Skin-sized version:
I didn't make this reference image - only the smaller version. It's one of the most useful references I've found.
2. You didn't make the Head Accessory transparent
Here's the default Minecraft skin viewed in Photoshop zoomed in:
The limbs, body and head are fully coloured, as is required.
The head accessory - which is a box that wraps around your character's head, allowing you to give it a helmet or crown (for instance) is transparent.
It's very probable that whatever skin you're using, you've left the head accessory regions white. So now you have a white box wrapped around your character's head (not an invisible box) - so your character appears to have a white head.
The simple answer is that you edited the skin in microsoft paint, which doesn't maintain the transparency of the skin, so the "helmet" area ends up white.
The quick fix is to download a copy of Gimp, or Paint.net
Each of these can properly handle transparency in PNG images, and are legally free.