There are lots of ways of doing this, but heres one hack around it....
Make two splines per track, side by side. Make a single skeleton joint-bone (so it has essentially a joint either end in other words). Now attatch one end of the joint to a spline as an animation path. Do the same for the other joint and spline. Now delete the keys in the fcurve and slide the joints appropriately if the skeleton segment is not perfectly adjacent to the splines.
Now create lots of these all the way round the tank track splines. Now just parent the tank treads to skeleton segments one at a time. Now you can either animate the tank treads around the paths using a custom attribute added to the tank body that controls all tank treads on one side of the tank, OR, set some simple expressions that move the treads around depending on whether the tank is going forwards or backwards. If you attatch a locator to the front of each side of the tank, and use those with the expression not the tank itself. Therefore, when your tank is turning, one locator will be moving forward or static, whilst the other will be moving backward....therefore, it will even simulate the movement of tank tracks when the tank is turning or spinning on the spot where one track moves forward and the other backwards.
If you wanted to put the wheels in, you could even drive them with an expression or just with rigid body dynamics.