I have found that making a blockout using only polygons that allow you to smooth is the best starting off point. This way you aren't rebuilding everything as your start to add support edges.
Don't combine meshes when you don't need to as everyone has stated.
There are alot of types of polygons that smooth well. You can have some crazy looking polygons on flat surfaces as long as it looks good in the high poly. I often terminate a support edge in the middle of a flat surface if it is easier then taking it the rest of the way around the mesh. This can cause a 'tug' on the support edge as you see in the pic below, but when smoothed the proper amount it won't be noticeable.
Something I have started to do recently is I build my entire mesh as a piece that can be smoothed, but don't add support edges. This way I don't have to deal with removing support edges or modifying them as I work. After I have most of the detail forms knocked out I'll then go in and put support edges in and start smoothing. This also helps if you have viewport fps issues.
Read every page of how do you model them shapes, from front to back. It is worth the few hours it takes.