I recommend the Marriott at Ford's Colony for Williamsburg. It's about 20 minutes to Colonial Williamsburg. We didn't go to BG so I'm not sure of the timing to there.
We stayed there last fall in a one bedroom and it was fantastic. Booked through the Marriott website for about $100 per night. Very nice bedroom, living room with pull out sleeper, washer/dryer, gas fireplace and full kitchen in the room.