Well, I do love Bath and I do love Stonehenge and have visited both a number of times, so not basing my opinion on what others say to see. I'd say do one or the other.
If you opt for Stonehenge, I'd take a train to Salisbury. There is a local bus route that leaves from the station and circles out to Stonehenge, back by Old Sarum and returns to 2 different spots in Salisbury - City Centre and the Station. The bus is run by the Salisbury Reds which is the local bus company. It's called The Stonehenge Tour altho it's not really a tour as I would call it. You can pay the driver when you get on and do pay for him to get your entry ticket. It's so much faster. After you've toured Stonehenge, just catch the next bus and head to Old Sarum and back to the start. You'll probably have time to see Salisbury Cathedral, possibly to catch Evensong and walk around Salisbury a bit before you catch the train back to London.
For Bath, I've usually stayed 3 or 4 nights and still haven't seen everything. I love the Roman Baths, the museum at #1 Royal Crescent, Bath Abbey, the Parade Gardens (paid entry of 1.50 £ but a great view of Pulteney Weir and Pulteney Bridge) and Prior Park for a start. If anyone is a Jane Austen fan it's fun to see places that she mentions in her books even though she did not apparently like Bath. I love the juxtaposition of the Georgian architecture and the Roman baths. Doing a walking tour is very interesting as well. I'm not a shopper but there are tons of shops if that is of interest.
Save the one you don't pick for your next trip!