I'd recommend starting with just a distance PID, since it sounds like you don't have that yet. Once you get that working, you can decide what to add.
We've been using Jared Russel's method #1 from
http://www.chiefdelphi.com/forums/sh...08&postcount=3 for a few years.
For the drive train, we've been happy with a linear ramp over a fraction of a second on start, and let the PID handle the deceleration. For other devices, we've done a trapezoidal profile. The fancier you make the profile, the more items to tune (or you need a decent model), so we try to start simple.