There are two features of TamperMonkey which are useful for this. The first is the sync feature. You'll have to enable advanced settings mode to make it visiable. You can use several services to sync the scripts you have across devices, browsers, and profiles. I have used DropBox. This setup in TamperMonkey is a one-time setup for each installation of the extension (so if you have two profiles in your Chrome browser then you need to set it up in each one of them, but just the first time).
Then whenever you make any changes in any one of the TM installations, it will propagate to all the others. From what I've seen it usually takes about 15-30 minutes to Sync using DropBox. I assume TM has a pre-set interval to sync at around 15 minutes so if you just miss it, it will take 15 minutes to send the changes to DropBox and then another 15 for the other installation to pull the changes when it syncs up. But it does work. Only caveat I want to mention is that if you disable anything that doesn't sync. It syncs up new (added), removed (deleted), or changed scripts. But not active/inactive status.
The other feature is the ability to use local files. That can be enabled in Chrome itself and the setting can be set for each extension - in Chrome extensions click "Details" under TM and then enable "Allow access to File URLs". This will allow you to use @require in TM to reference a local or network location.
// @require file://C:\[directory]\[subdirectory]\TEST_FILE.user.js
You could then just maintain the local reference. But this method only works to sync up code if you have it referenced. It does not sync up new or removed scripts and does not change the code in any user scripts themselves. If you use the DropBox sync method it should do everything you need and you won't have to use this feature unless you want to.