I usually use this tool to accomplish this task. It creates A LOT of polygons, but it gets the job done. The other approaches suggested will help you get rid of overlap and get similar answers but this one does returns shapes.
I actually just used it to create this map of willingness to travel overlap in Florida.
I should clarify more, that Intersect does work, but it gives back all of the places where the overlap is and however many times it overlaps -- ie: if it is overlapped by 3 other polygons, the layer contains that polygon 3 times.
So I want what the Intersect gives back BUT I just want 1 record of each.