Sounds similar to what my 2005 was doing. There was a "Dead Spot" on the starter, and about once a month or so it wouldn't start. If you tried it 4-5 times, it would finally kick over and start just fine. It got progressively worse until I had the starter replaced ( ~$300 at the local shop). Definitely have the battery checked first though.

You also mentioned funkyness with the fuel gauge. I'm kind of convinced that there is some sort of learning process that the ECU goes through with the fuel level sender.

When I first got the 05 last summer, it would only indicate about 5/8ths of a tank, even when filled to overflowing. It gradually got better over the next ~6 weeks or so, indicating more and more with each fill up.

I suspect that repeated, partial fill ups confuses it. Don't really have any evidence to back that up, but that's my theory

If your battery is good, then most of the time the problem is the starter solenoid. The internal contacts get a too high of a resistance due to burning, and it wont let enough current pass by to crank the engine. A new starter will do the trick in that case, or if you cant spend the money on a new or refurbished starter, you could just get a new starter solenoid and swap it out.
You also need to look at the single thin wire which connects to the solenoid. Bad contact due to corrosion or just a too loose fit of the connector can also prevent the solenoid from activating.
Last but not least, high resistance at the ground wires can also prevent it from starting.