The answer might be a desire to serve your country. I'm pretty sure that's why I served. I work with a lot of middle-aged engineers who, having chased the money in their youth, express some remorse at never having served. It's good that you're thinking about it before you're too old or tied down. I promise you that it will suck, but it may very well be one of the best experiences of your life. Go for it.
I'm no expert on how to become a Navy Zero (i.e., an "O" rank). If you're concerned about your GPA, then you might try getting a graduate degree. GPAs in grad school tend to be much higher. Plus, now that you have some real work experience, you'll be more focused on your work, thereby resulting in higher grades. Otherwise, I'll let the Navy Zero experts on the forum give you more useful advice.
Finally, if you just want to serve your country, you could look into being a Zero in the Army or Marines (e.g., infantry, armor, or combat engineers). I know a lot of guys who took that route who work in the nuke field as managers.
Good luck,
MGM