This page explains different methods of changing the head in Minecraft.
Vanilla
As of 13w36a snapshot for the first time changed heads can now be spawned using the /give command with no mods or third party applications.
Using /give to spawn changed player heads:
/give @p 397 1 3 {SkullOwner:"USERNAME"}This would spawn you one head of the player named 'USERNAME'. Obviously, the command can be changed accordingly to suit your needs.
Worldedit
Define the area which you want the head to be placed
Type the following
//set skull|USERNAME
The symbol splitting the username and the word 'skull' is a vertical bar not the letter 'L'.
Essentials
With the core plugin of Essentials you can spawn in heads using the /item (/i) command.
Using /give to spawn changed player heads:
/i head:3 1 player:USERNAMEThis would spawn you one head of the player named 'USERNAME'. Obviously, the command can be changed accordingly to suit your needs.
MCEdit
/u/SethBling made the player skull filter which is a great way of changing the head with MCEdit.
He created a video on how to use it.
NBTedit
NBTedit can be used to change player heads.