Starring and messy edges when smoothing or using sub surf modifier
You should avoid Boolean as much as possible. Often it doesn't give a good topology.

If you want to keep your object:


Go in Edit mode, select all and press ctrl N to make Normals Consistent.
Press ctrl W > Remove Doubles to delete all the vertices that are very close to each others. Play with the parameters on the bottom of the Tools panel (T to display).
In Object mode, increase the View Subdivisions of your Subsurf modifier and press Smooth in the T panel > Tools > Shading. You could get something not too ugly.


But you should redo your object this way:


Create a sphere, rotate it, cut its top.
Duplicate this sphere and rotate it 180°.
Merge the two spheres with the Snap tool enabled (horizontal bottom menu of the 3D view), Type of element > Vertex, and press the Automatically merge vertices option.
Scale down one of the sphere, add an edge loop to correct the topology.