As a resident and traveller of the UK I'm happy to help you with your itinary and hopefully make your stay here more interesting.
The UK is particularly crowded in the South East so with a car either travel outside the rush hours (6am-10am, 4pm-7pm) or expect to sit in traffic. Further North and West the problem is not so bad but commercial traffic can slow down journeys off motorways.
Next Scotland is a wet place .. rain is very common and as winter approaches the highlands can get pretty windy/cold. The Midlands and North of England probably have more to offer than anywhere else so definately spend more time there. York particularly but also the Lake District, Snowdonian, Yorkshire Dales etc.
For a better climate look into travelling down to the South West, particularly Devon and Cornwall (travelling time from LHR is 1hr to Bristol, 2Hr to Exeter as it's all Motorway). If time permits then a short flight to the Channel Islands is well worth considering.
Petrol in the UK is about $1 a litre so long distance travel by car (especially a rental if not unlimited milage per day) can work out costly compared to flying (LHR-EDI is about £60 pp in taxes or 840 miles round trip by car = 112GBP in petrol alone plus 16 to 20 hours sitting in the car). Booking train tickets in advance is far the cheapest, if least flexible.
In the time available, and depending upon season of arrival I personally would spend the 3 weeks roughly along the lines of.
- Arrive London. Spend 3 days or so
- Train London Paddington to Bath
- Car from Bath to explore Swindon, Stonehenge, Avebury etc for a few days
- Bristol, Exeter, Plymouth, Dartmoor for a few days
- Return to Bath, drop car and return to London. Fly to Channel Islands for a few days
- Return and rent car to travel North towards York, then across to Lake District, Snowdonian, Wales and return via Bristol to LHR
- Fly to EDI, rent car and explore Scotland
- Return LON and maybe explore the SouthEast with a trip down to Dover via Leeds Castle and the Garden of England.
Hilton are likely to offer the best option if you are looking to stay with a particular chain. Best Western or Holiday Inn are pretty well represented .. otherwise you should have few problems getting a room by just turning up (this option is the most expensive). Budget $100 a day for Hilton, $80 for HI, $60 for motel style (travellodge, Days Inn etc).