In my experience, the most common reason for consistently low mileage is a sticky choke. It makes the bike run rich, and that richness is extra unburned fuel that's just going out the exhaust. If it has that gasoline smell while it's running, that's generally the issue. It's starving for air. Check the choke cable and linkage to make sure it's not sticking, and you might even want to pop out the carbs and make sure it's all working right.