Yes, driving habits will make the most difference.
Make sure air filter is clean and spark plugs are in good condition.
Computer controlled fuel and ignition vehicles will squeeze the best MPG out of your vehicles weight and wind resistance if you let them.
A vacuum gauge added to the dash will help you keep engine in correct operating range for best MPG.
Also a Bluetooth OBD II reader can tell you if fuel trims are within proper parameters.
A bad injector or O2 sensors or MAF sensor can cause lower MPG.
Or a ScanGauge has a realtime MPG readout based on current speed and fuel usage
Highway really isn't too bad... like the 4.0 Jeeps they do a lot better on the highway if you control your speed through turns/hills appropriately. I get 16 at best with mostly city driving, and close to 25 with a highway-only tank.