@loleris created a helpful DataStore module called ProfileService, and he lists session-locking as one of it’s features.
I have yet to try it out myself but it looks like it might help solve some of the issues you described; for example you could set up a profile for each ‘crew’ so that it updates in the background, and have it save when the last member exits.