I've found a way to make very SWOS-like updates. I'm using the SWOS database to extract the exact distribution of skills for a group of players.
(e.g. what percentage of defenders has Heading 7, 6, 5, etc.)
I'm using both player (height, age, goals, assists, etc.) and team characteristics (goals for and against, etc) to calculate his SWOS skills and scale them to his price. (main skill not scaled as that would defeat the purpose)
I'm using data for additional positions played to create some extra randomness.
E.g. player that player 12 games as wing back and 12 as winger will have a template which is exactly 50/50 back/winger skills.
That will then be additionally modded with all I've mentioned before.
If he's a a RB in a team with great defense he'll have more tackling than a 50/50 back/winger would. If he's supershort he'll have less heading. If he's 47 he'll have speed 0. Etc.