Myslím, že struktura, kterou jste navrhli (bez pole „přiřazeno“ podle komentářů), by fungovala, s přidáním další tabulky, řekněme „Submissions_User“, obsahující odkaz na user_id a zvyšující se pole pro počítání příspěvků. Pak vše, co potřebujete, je „poslouchač událostí“ podle tento příspěvek a myslím si, že byste byli připraveni.
UPRAVIT:Pro odznaky úspěchů spusťte při každém odeslání posluchače události (samozřejmě pouze pro uživatele, který odesílá příspěvek) a na místě udělte jakýkoli relevantní odznak. U odznaků založených na čase bych každou noc spustil úlohu CRON. Jednou projděte úplný seznam uživatelů a podle potřeby udělte odznaky.