Unfortunately, things have not gotten better. I don't expect them to get better either... at least not in the near term. Look to a third party to figure out how to solve it. Apple remains focused on locking down their platform (iCloud) and locking out third parties (Google).
Here's the scoop as I understand it:
In the old days (pre-Lion) AddressBook stored its data in a database that developers had access to. In those days, companies such as SpanningSync built some great little products that gave us lots of flexible options for syncing calendars, contacts, and other things with "the rest of the world" (meaning Google, Microsoft Exchange, and more). Apple also built in some basic support for this that mostly worked, though not as well as some of the third party apps (e.g.: Spanning's products).
Then along came Lion.
Apple decided to move all of their data into the cloud (specifically, the Apple proprietary iCloud). Not a bad idea, except that they didn't publish any APIs (interfaces), effectively locking down the data. Apple went from a fairly "open" mindset to a fairly "closed" mindset, or another way of saying it is, Apple's new thinking became: "Your data is now MINE, heheheeheeeee, and you can't get at it without ME... <big grin>."
This is not an uncommon philosophy, but companies such as Salesforce.com have proven that you can be much more successful taking the "open" road. Alas.
Ok, so, now you get all excited about Lion and iCloud and you upgrade. Fine and dandy.
You data moves into the iCloud. Well, it's supposed to move into the iCloud, but my early experiments revealed that it didn't "move" it more or less "copied" into the iCloud... and I was left with two AddressBook databases. One, the "active" one that Apple and iCloud and my iPhone seemed to be "plugged into" is the one that lives in the iCloud. Now, for a while I also had a "dead" copy on my computer -- the old AddressBook database from the pre-Lion era. It was still there, but it was a useless duplicate because from Lion's point of view, it was no longer active.
Good old pre-Lion apps, such as SpanningSync, don't know anything about the iCloud data. They can't, they've been locked out because of Apple's new mindset. But that old, stale, probably mistakenly-left-behind copy of the pre-Lion AddressBook is still there -- and so, SpanningSync will keep using it. Spanning will keep syncing to Google. But it's the old database, not the shiny new iCloud version, so you end up with two copies.* Eventually you notice that the old one is getting older and more out of sync, probably, and fiddle about a bit, and probably manage to get rid of it. (That's what I did anyhow, at this stage).
Now, you can go either way on Lion: iCloud or not-iCloud. Choose wisely. Do you want to be integrated with Google Apps (and in my case, the company contact database, email, address book, appointment calendar, and resource manager)? If so, don't go iCloud. You can choose this by telling Lion not to sync your contacts, calendar, etc., with iCloud... as I understand, that makes it an "old-fashioned" pre-Lion style database, and tools that used to sync with Google will once again work.
Best of luck. It's a bloody mess, and one more bit of evidence that Apple is taking the fast track to mediocrity now that Steve is gone. As someone so poignantly wrote on the 'net... iSad.
* ilearn.jr: I have no idea how you ended up with 3 copies, but I'm sure it's possible. Unfortunately, you are right, they are duplicates, and they are not "connected." My recommendation: Make a backup of one of them, or maybe all of them, then blow away all your contacts and all your AddressBook preferences. Import the clean copy. But decide one whether you want iCloud of Google beforehand and choose accordingly... ;-)