On a Saturday my choice would depend on where there are any rail engineering works.
But all other things being equal (no work anywhere) there is a 3rd route- the 1031 Bath to Oxford arrive 1127, the 1210 Oxford to York (where it terminates, it started from Reading so should be fairly quiet at Oxford) arrive 1516 then any train to Edinburgh.
Although Bristol to Edinburgh is an hour faster changing at Birmingham to Avanti up the west coast to Edinburgh there is an hourly Bristol to Edinburgh through train.
Via London is always the fastest route- not sure that makes it the best due to having to cross London and the comfort factor of the new LNER trains which I don't find to be impressive in standard class.
Personally I would take the train on the hour to Birmingham which starts at Bristol (that way I know I can get my seat) then change at Birmingham or Stafford to Avanti up the west coast (possibly having to do a same platform further change at Carlisle).