I've spent about 3 weeks of just testing and this is what I found to make it more consistent to keep progress. 1.Ensure that when you unlock the camo, you stay in the match until the next map loads fully. Otherwise the stats may not save. (I typically get at least 1 kill/death to make sure, but this could be placebo)
2. What ever skin you unlocked at the latest point in the game, equip it and load back into another. (especially if you unlock multiple skins for multiple guns)
3. Progress on camos getting kills on only bots seems (or seemed) to cause more issues with camos being saved, even to the point where without restarting the game my camos for testing would still get reset. This never happened if there where real players along with bots.
4. I don't really understand how but, nearly every time I close plutonium by closing the console that loads up with the game it saves all progress. In some cases even while mid match
5. The 'uploadstats' command seems to not really do anything within testing.
All of this was tested using HGM or NamelessNoobs because there more popular and I was trying to remove as many variables as possible. I've seen a couple comments across forums that say a vpn tends to fix it but this is still just random. With points 1-4 I do this every time I get on to grind skins and it works for me a confident 95% of the time. Yes there still is the oddity where my last session gets reset but with point 2, as long as I equipped a skin I unlocked and played a game with it then at least that skin is saved and you can keep some progress if not all.
Hope this helps