Even at the risk of sounding demotivating: You can't subdivide a cylinder and call it modeling. I'd advise you to follow some basic modeling tutorials, before creating objects of your own.
Your cylinder contains an n-gon, a face with more than four vertices and four edges. Ngons don't work well with the subdivision surface modifier. Create the topology from quads (faces with four vertices). See Manu's answer for a possible workflow. I just started with the default cube and did the subdivision with the specials menu (W).
miceterminator's answer states to start with a halved sphere. While this may be a good starting point, a sphere intially has triangles, which produce non-smooth geometry with the subdivision modifier.
Here are things you want to do:
- Use fewer polygons on an intersecting loop. With more polygons, you have less control and positioning them becomes more time consuming.
- Place more polygons by hand.
- Setup reference images in your 3D view.
- Use the mirror and subdivision modifier.
- Use only quads.
Here are some useful modeling commands.