Nice shot. However, like everyone else, I agree that you've really got to get rid of that background. It is a major distraction for viewers' eyes, keeping them away from where they should be, ie, the subject.
Another, much less serious problem is that it looks like you used your 60D's built-in flash. This type of flash always creates a very stark look, exaggerating even features such as tiny bluish veins just below the skin that would normally be completely invisible, especially in a kid of this age (ie, with nearly perfect skin).
To illustrate how this portrait might look with a better background and lighting, I worked on it in Photoshop for a few minutes (result attached). Because of the very busy background, it is indeed difficult to make an accurate mask so that one can accurately modify only the background. It can be done (eg, with specialized masking tools), but, to be honest, I just didn't want to spend the time on this image. Instead, I simply made a rough selection, and blurred the edge of the subject as if the boundary between the subject and the background was slightly OOF. It's a cheat, but it's fast and not too bad.
I disagree with simply darkening the existing background. IMHO, that makes the photo look even more harsh and creates regions (such as the top of his head) where his hair would merge into a darkened background. Instead, I recommend a nice color gradient. It has sufficient visual interest, looks classy, but doesn't distract from the subject. Not withstanding the above suggestions and tweaks, doing the fixes (eg, background, lighting) in the real world instead of PS would produce vastly better results. See what you think.
Cheers,
Tom M