The problem is that all the trains are busy getting commuters in to Bath, Bristol, Filton and even Southampton and Cheltenham at that time of day - leaving nothing to get people "contraflow" to work. We have an 06:38 to 09:15 gap at Melksham too.
In theory, you might be able to start the 07:33 from Westbury to Swindon back at Frome at 07:23 ... running at (say) 07:05 from Westbury to 07:15 at Frome. Ironically, that would offer a connection from Swindon (but not from Bristol) to Frome.
Again in theory, the 07:35 arrival into Westbury from Bristol could be extended to Frome, arrival 07:45, and coupled to the 08:06 departure from there back up to Bristol - I think it normally couples to that train at Westbury anyway, ad signalling and shifts might not allow that manoeuvre. I suppose it could also run back to Westbury at 07:55 to couple there, and you then don't have a signalling problem.
However, as I was once told (by a Transport Minister, no less) "we can't just run a train for you" and a business case would be needed. Also noting that SW Trains are looking to run one of their new Yeovil via Westbury and Salisbury services in the morning gap, and First might like to plug it first ...

... just a thought