Jeg tror, at den struktur, du har foreslået (uden "tildelt"-feltet som i kommentarerne) ville fungere, med tilføjelsen af en ekstra tabel, sig "Submissions_User", indeholdende en reference til user_id &et stigende felt til at tælle indsendelser. Så har du bare brug for en "begivenhedslytter" i henhold til dette indlæg og tror, du ville være indstillet.
EDIT:For præstationsmærkerne skal du køre begivenhedslytteren ved hver indsendelse (kun for brugeren, der foretager indsendelsen, selvfølgelig), og tildele enhver relevant badge på stedet. For de tidsbaserede badges ville jeg køre et CRON-job hver nat. Gå én gang igennem den komplette brugerliste, og tildel badges efter behov.