Move object in direction it's facing in
Here is one way to do it:
Select your car object and add a Follow Path constraint. Select a curve as the target. This curve will be the route the car will take.
In the same place as the car object, add an Empty. Put an Follow Path constraint on the empty. Select a curve as the target.
Select the car add a Damped Track constraint. Select the Empty as the target. (remember to select the right axis orientation depending on the situation; you might want to change it later.)
Select the Empty. Right click on the Offset value field of the Follow Path constraint and choose Add Driver.
Go to the Drivers window and select the Offset (Follow Path) in the list. Press N and click the Drivers tab. For the Type choose Scripted Expression. As Expression Type &quot;var - 1&quot; (or &quot;var + 1&quot; depending on the direction of the curve). Also &quot;1&quot; can be smaller or bigger; the value is dependent on the size of your car object. For the Input Variable choose Single Property. Choose the car object as the target or Prop.
Select the Car and right click on the Offset value field of the Follow Path constraint (of the car) and choose Copy Data Path.
Go back to the Input Variable of the driver and hover the mouse over field net to Path. Use Ctrl + v to paste the copied data path.
Select the car and change the Offset value of the Follow Path constraint. Now the empty will move ahead of the car because of the driver. And he distance it moves before the care follows is 1. The Damped Track will cause the car object to rotate.

EDIT:
I seem to have misread that you don't want to use a path. Sill i suspect you can achieve what you want with drivers. I'll try to look into it when i have more time.