"Usergroups" are a common concept in UNIX, many Linux distributions (e.g. Debian) use it as default. It means that each user has its corresponding private group (e.g., User "alex" has also a group "alex" which is his primary GID).
Now when you have the user database in LDAP (e.g. openldap and use libnss-ldap) is there anything wrong creating just one object per user and assign it the object class(es) for the user (e.g., posixAccount,shadowAccount,sambaSamAccount) and the class for the group (e.g., posixGroup) at the same time?