Why don't aircraft fly direct via oceanic airspace from UK to Iceland?
I don't think they are specifically avoiding Shanwick Oceanic airspace. The reason seems to be related to the airways in the Scottish airspace. In general, you have to file a route using airways when operating in this airspace and there simply isn't one available that provides a more direct route. I recreated what looks like the route you show on skyvector.com:



This route would use UL612 between DCS (Dean Cross) and STN (Stornoway) and then continues via the N610 to RATSU, which marks the border between Scottish, Shanwick Oceanic and Reykjavik airspace. There are no airways from RATSU in the Reykjavik airspace, so they probably filed a direct route from there. The total length of this route would 1049 NM.

You can see alternative airways to use in this zoom (or go to skyvector.com, select "World Hi" for high altitude airways and zoom in):



There are two waypoints South of RATSU where one could enter Shanwick Oceanic airspace: ATSIX and BALIX. The shortest routes I could find with skyvector were 1042 NM and 1035 NM long respectively. This is basically the same distance and the optimal route would likely depend on the current winds.