As I see it there are three modes of sharing:
The first is where my post is quite innocent and generic, so I just want to declare it to the world. This goes in public.
The second is where my post is pretty irrelevant to most of my friends, and is really only directed at a portion of them. So to prevent clogging the feeds of the rest of my friends, I submit it to a specific group like "Biking Buddies." Facebook can't learn this or automatically set it up. On the other hand, I rarely care enough to only post to a group instead of public.
The third situation is the opposite of the second: there is a very specific group of people that I don't want to see what I'm about to post. Planning a surprise party or uploading party photos from the night before fall here. In that circumstance I only choose to post to a specific group of close friends. Again, something that Facebook can't deduce from my profile.
You can't get around #3 without doing shit work, except by not posting it to begin with. As a developer you can't avoid this: sometimes manual labor really is the only solution to a problem. Until we invent mind-reading, of course.