You can set the default image on the Image viewer.
By doing this, the image viewer will display this, when no image is uploaded. By doing this, it isn't necessary to set a default image per image object.
The mistake you make is that the user_icon is an image to use on forms and can not be used as an image inside your database. The way to go is by creating an image object and attach that object to a setting object you can reach at your frontend as admin. This way you can upload the standard image as admin that will be used by every new Player. Now when creating the new player retrieve the image and then copy that image (with the community commons actions DuplicateImageDocument to copy the content of the standard image to the NewPlayerImage and you are done.
Thanks Guys - brilliant answers.
Just what I needed to know! :)