I grew up in St. Charles and live in Geneva. LOVE Geneva! I love Geneva because it has a quaint down town. Lots to do down town walking around to shops, Island Park on the River, just a town that you can walk around and find alot to do. St. Charles and Batavia are not like that. You can walk around in areas but in Geneva the whole down town is connected with lots to do, if that makes sense.
You also have the bike paths, Fabyan Forest Preserve, lots of parks to play, nice restaurants, Swedish Days in the summer, lots of other festivals. I think all your shopping areas are nicely placed so you have some of what you need on both sides of town or close in neighboring towns.
St. Charles has been doing alot of building and I hate even driving through any more, lots of traffic. Geneva you are right close to Randall Rd that has everything. I like it because it is close but you don't have to live within the traffic.
Spend a day walking around the towns. Geneva, St. Charles, Batavia. I think you will notice the differences pretty quickly. Can't say enough about Geneva and I am very familiar with the tri-cites.
Good Luck!