Besides washing dishes first or changing detergent, are there ways to improve the cleanliness of dishes coming out of an old dish washer?
You could try adding a 2-4 quarts of vinegar to an empty load and letting it run for an extended period. Over time you can get buildup on the lines/sprayers and the vinegar will help clear out the buildup. Clearing out this buildup will provide better power for the sprayers and in turn, cleaner dishes. Of course I would run an extra cycle or two with fresh water afterwards.
Hotter water is the biggest factor in the effectiveness of a dishwasher. In the USA, at least, this is dependent on the home hot water supply. If you have access, you can turn up the thermostat on your water heater to a minimum of 130 Fahrenheit and likely see a significant improvement. Many rentals have the thermostats set lower, typically 120 F, for liability reasons, but most dishwashers (especially the lower-end units commonly found in rental houses and apartments, which lack reheaters) don't clean well at that temperature.
The thermostat on the water heater probably won't be calibrated, so you'll have to turn it a little, wait 1-2 hours, and then run the water in a nearby tap until it's as hot as it can get before checking with a cooking thermometer. You may have to go through a few cycles of this to get the temperature right. Also, you gain little to nothing going above 135 F, and greatly increase the risk of a scalding accident if someone draws cold water while a hot shower is running or similar flow conflict occurs.