A lot of people already suggested great ideas and if you don't want to use allowlists etc., a clean fix to the sniper situation might just be:
hard wallet caps for the first 24 hours → dynamic expansion only if the pool doesn’t fill.
keeps it fair, keeps demand real, and stops one wallet from swallowing 80% of the supply before anyone even blinks.
easy change, huge difference.