I can't vouch for all of them, but I can offer opinions on some of the ones in the St. Charles area (due west on I-70, across the MO River).
Bass Pro Shop (I-70/5th Street): Selection is better than it used to be, prices not great, and the wait for help can be rather long.
Mike's Guns (I-70 to Hwy 94, south 1-2 miles, right next to a Domino's on the right): Good selection and prices, good help.
Nassau Sporting Goods (I-70 to Cave Springs, head back east on South Service Road, turn right on Spring): Better selection of milsurps, rather large selection of longarms, help can be good or mediocre, depending.
Bulls-Eye (In St. Louis City, on Manchester Road west of Kingshighway): Has an indoor 25 yard range. Not a large selection, but they're decent folk.
There's really not much of anything close in to the city; you'll need to head out I-70, I-44, or I-55 to get to anything decent. There's more good shops in the south county area, but I've not been to those.