To be honest, there's not much of anything between Fredericksburg and Ashland (about 35 miles apart).
If you reach Fredericksburg at a decent hour and decide to drive a little farther, take I-295 south around Richmond. There's a Hampton Inn and a Holiday Inn Express on US 360 in Mechanicsville, and a few hotels a half hour further south around Hopewell.