The age certainly plays a role, however in our society turning 18 also means the right to be an indiviual (adult), right to vote, right to fight for this country; keep it at 18.
I worked as a bar manager for 5 years and have seen some of the worst when it comes to alcohol. The rules that on-licenses have to follow is more stringent than off-liceneses; can't serve intoxicated people, control of their behaviour etc. etc. What I believe could work is making it cheaper to drink at your local pub than go to the supermarket to get a bottle of wine or a dozen of beer and get drunk at home.
Also, our disgusting thinking pattern that means 'drinking = getting drunk'. Our culture for the lack of moderation and respect for alcohol is one that needs changing, but that would take years/decades & I'm unsure on that part.
Do you like this suggestion?