It is ultimately it is the garage owner who is responsible for your loss, not his insurers. He insures himself against such eventualities but if his insurers refuse what you consider to be a reasonable claim for recompense any action you take as redress must be directed towards him.
As you say, Spec Savers will not provide you with “part used” glasses at a reduced rate and you have no option but to buy new ones. Let the owner know that as his insurers are refusing your claim you will start an action against him in the small claims court to recover your losses. He may be able to persuade his insurers to meet your claim, but if not go ahead and take the action.