Before you get all bent out of shape, please read the whole post before commenting.
I will keep my "solution" as short as possible.
For all the currently illegal immigrants here in the US, they get to stay... BUT they must make a declaration of when they arrived in the US. They must then pay taxes on however many years they have declared. If they have declared 1 year, then they have to pay 1 year of taxes. If 7 Years (the maximum) then they pay 7 years of taxes. The advantage of declaring more years is that once you reach 7 years you can then gain citizenship.
Other ways to gain citizenship would be through service, either Civil or Military. Four years of civil service gains you citizenship (you will, of course been paying taxes along the way).
Military service would be a little different. You would be required to enlist for 4 years, but you would gain citizenship after 1 year (though you would still be required to fulfil your enlistment term or be subject to military law)