Well, first see if the feed dogs are packed with lint. Take off the throat plate and vacuum (preferably) or brush it out. Also run it with the plate off (no thread or fabric) and see if the movement is obviously off. All my machines run pretty straight, even the budget-priced Brother. I had a 1990's Singer which behaved as you are describing. I thought my frustrations were my fault until I finally upgraded!