Worth noting: We can get a LOT more energy out of nuclear fuel than we currently are. It's just not economically worthwhile to keep processing it further and further down. But if you wanted to, you could--it would get a bit more expensive, but we're still talking decades even on the predicted resource-consumption curve. Also, it only gets cleaner as you keep using it, which is funny. Nuclear power is the way to go.
Yeah fuel cells is a toughie. Any electric system is dangerous as hell because you're usually sitting on a giant capacitor. Hydrogen has terrible capacity. Gasoline puts the pollution right where it's worst (urban centers), instead of out in the middle of nowhere, and it's a lot easier to use solar, wind or hydroelectric power to fill an electric or hydrogen car than it is to fill a petrochemical car. Also though, hydrogen and electric cars both have rare material issues. We just don't have enough platinum. Personally I think the solution is smaller and more efficient cars like Europe has (market forces will drive us there very quickly on their own), with rentals for those times when you only use the 'pickup truck' part of your vehicle once a year...and more mass transit. We need trains, people.