Another idea: if i'm not wrong a new peice of trail is drawn when it makes a certain angle with the previous one (so, when bodies travel along a line no other trails are drawn). Because of this, however, there is a bug when you erase the trails: i often see some trails linked from the body to the point the body was when the trails desappear; i think that they don't find a previous segment, so the angle to fix them doesn't exist.
Not considering the bug, this is a very useful method if you don't want to draw an high number of segments when the planets follow straight lines, but trails made in a few seconds are, often, much shorter than other trails made in more time (e.g. the Mercury one, and the Pluto one).
If you fix the drawing of a new segment of trail, e.g. every 5 frames (obviously an editable number), you will obtain many more trails on a straight line path, but they will be a constant number and they will rapresent also the velocity of the body as the more the body is fast, the longer will be his trail. Mercury will drow full orbits, Pluto a very little trail.
You can let the user decide the number of segments drown (or how many time they need to disappear) and how often they are drown.