What's the BSD equivalent of the linux date command for adding subtracting days/weeks/months from a given date?

You must specify + in your date adjustment or BSD assumes that you are giving it an actual day of the month to use.

date1="2013-10-31"
day_after=`date -v+1d -ujf"%Y-%m-%d" $date1 +%Y-%m-%d`

echo "$day_after" => 2013-11-01