The two Virgin services that arrive/depart Holyhead in the middle of the day serve the ferries to/from Dublin so I would leave them as is.
After that you have the three trains that overnight at Holyhead, and the early morning service from Birmingham and the evening terminator from London at Bangor which returns to Birmingham.
Would Bangor have the space and facilities to store trains overnight?
I don't see how you would be saving any sets - unless you're talking about removing some of the morning services to London from North Wales altogether along with their evening returns??
That is what I mean. One service a day from London with the same train forming one service a day back to London.
Everything is too London-centric. Is it really vital that North Wales towns have a frequent London service? With an improved service to Crewe it would provide easy connections to London, making one change at Chester or Crewe without a long wait. For the sake of people having to make one change (at stations which provide disabled assistance and journey care), you could then free up capacity for better regional services and connections, whilst also freeing up a few Voyagers to boost capacity elsewhere.
I wouldn't even terminate a few at Bangor. All Virgin services, bar the one service I've mentioned, should terminate at Chester.
I think:
Holyhead-Chester 1 x train per hour with some, be it bi-hourly or less frequent, calling at request stops to Bangor.
Bangor-Chester 2 x trains per hour with 1 per hour serving request stops after Bangor, then both semi-fast from Llandudno Junction to Chester.
Llandudno-Chester 1 x train per hour calling all stations to Chester.
Holyhead-Cardiff 1 x train per day each way. Fast to Chester and Shrewsbury.
Holyhead-London 1 x train per day each way. Semi-fast to Chester
Other English destinations/origins open to debate.