Virgin has long been much easier with this--especially giving seat selection to non-status premium pax, which BA has not done since about 2009 or 2010 if memory serves.
Simple.
Virgin carry 5m passengers a year.
BA carry 30m passengers a year.
Hence the reason BA need to focus on status passengers for seat selection priority, otherwise it would be one big fight. Virgin can afford to be flexible because they are a (relativley) tiny airline. They don't even feature in the top 10 of passengers carried. If Virgin ever manage to reach the top 10, my money's on them making stuff like seat selection more difficult.