Lower the drinking age to 18.
The idea that certain rights are can be withheld from legal adults "for their own good" while other legal adults are free to indulge is ridiculous. (This doesn't include requirements for political office in the constitution, natch)
Even as someone who is quite anti-smoking (when it comes to cigarettes), I completely agree. The age of adulthood in this country is 18 and with that there should be no questions as to the rights and responsibilities. The age to use an otherwise legal product should be no higher than the age of adulthood. Setting the age at 21 for anything is a completely antiquated way of thinking that should have no place in modern society.
To be perfectly honest, I would leave the smoking age at 18 and eliminate the drinking age (i.e. alcohol purchase age) altogether. To go one step further, I would treat marijuana the same way as my proposal for alcohol.