There's your roommate, and there's everyone else.
Because your roommate lives with you, it kind of makes sense to tell her, "Hey, I'm going to the grocery store tomorrow at 4. Want to come?" In other words, asking her if she wants to piggy-back on a trip you are already planning to make. But make it clear when you need to leave, as well. "I've got a paper to write tonight, so I'll need to leave the store by 5."
The idea of having her ask for any other ride 48 hours in advance is a good one. That way, if you say no, she has time to work out other arrangements. But make it clear that you are not a taxi service--just asking 48 hours in advance does not mean you'll be giving her a ride. It means that if you have no other plans and you don't mind driving to wherever she needs to go at that time, you'll give her a ride.
If you are giving Roomie rides on a regular basis, you could try just setting a per ride fee for the gas. Or, if you wanted, trading chores around the house for the rides, depending on which you want.
For everyone else, practice saying "no" a lot. Just because you have a car does not mean you are obligated to change your plans or spend your money giving people rides. As you say,
it would be *kind* to give people a ride, but not *impolite* to refuse to.
Working, studying, writing a paper, planning to paint your toenails are all perfectly good reasons not to give someone a ride. Simply wanting to stay home and watch TV is a perfectly good reason to stay home. Don't get into explanations; don't JADE. Just tell people, "Sorry, that doesn't work for me," and change the subject.
Sometimes I work a temp job in the evenings. There's a bus that runs by the office, but there aren't many trips at night, so when we all get out at 9:30, people taking the bus have the choice of waiting 45 minutes for a bus to the main bus station to get the bus they need to get home, or walking the mile and a half to the station--on busy, not very well lit roads with no sidewalks. So I've been known to offer rides to the bus station to people I know. The station is right on my way home, so it takes about a minute extra to pull in and let someone out.
Most people are just grateful to get a ride to the station. But I've been asked to drive people home--20 miles out of my way. Or one time I offered a woman a ride and she accepted, only to show up at the end of the shift with 3 other people I didn't know who also wanted rides. And my car only holds 4 people, max. That was a bit unpleasant, as they all got mad at me for not having a bigger car.
I'm more than happy to help out friends who have an emergency, or car trouble or the like. But I am not happy about being treated like a taxi service and taken for granted. Saying "no" is the only way to deal with this sort of thing.