You can continue to share an Apple ID for purchasing from iTunes, and still have separate iCloud accounts with separate IDs. (You aren't required to use the same ID for everything.) Are you all sharing a single iCloud account now? Do you need to migrate some of your devices to a separate iCloud account?
First decide which iPhone will be keeping the current iCloud account. On the others, go to Settings>iCloud, scroll to the bottom and tap Delete Account. (This will only delete the account from this phone, not from iCloud. The phone that will be keeping the account will not be effected by this.) When prompted about what to do with the iCloud data, be sure to select Keep On iPhone. Next, set up a new iCloud account using a different Apple ID (if you don't have one, tap Get a Free Apple ID at the bottom). Then turn iCloud data syncing for contacts, etc. back to On, and when prompted about merging with iCloud, choose Merge. This will upload the data to the new account.
Once all your devices have their on iCloud accounts, to un-merge the data you will have to go to icloud.com on your computer, sign into each iCloud account separately and manually delete the data you don't want (such as deleting your son's contacts from your account, and vice versa).
You should also use separate Apple IDs for services such as iMessage and FaceTime. Otherwise, you're likely to end up getting each other's text messages and FaceTime calls. If you need to change these, for iMessage go to Settings>Messages>Send & Receive, tap the ID, sign out, then sign back in with a separate ID (such as the one just created for iCloud). For FaceTime, do the same thing in Settings>FaceTime.
Finally, this article may be of interest: http://www.macstories.net/stories/ios-5-icloud-tips-sharing-an-apple-id-with-you r-family/.