First, if you don’t already, suggest to understand the difference between syncing and backup. Syncing creates a mirror of the file and/or folder. Backup creates a separately stored backup. If you make an error when syncing, it will propagate to your mirrored files. Backups (ideally .zips) will preserve the history, allowing you to go back before the error. (note: zips also can’t be accidentally opened as projects which prevents accidents of a backup zip overwriting your .scriv file.)
Second, under Settings > Backup, I recommend to select all options and then set a backup location that is different than the location of your source file (never save source files and backups in the same folder). Selecting these additional options will ensure your backups are compressed as zips, have a date/time stamp added to the file name, and save a backup when you open a file and when you manually save. This will help reduce the conflicts you have had between devices.
Third, under Settings > General > Automatic Quit. I recommend to automatically quit it after a particular period of time (I do 30 minutes but you may prefer a different amount of time). This helps prevents conflicts between versions on different devices, if you forget to quit each time you finish working on a device. However, manually quitting (not closing) is a best practice I recommend you get into the habit of doing. For example, if I make a changes on my iOS app, I always back out to the top level and watch it sync (it’s syncing to Dropbox, of course) when I’m finished to reduce conflicts. When I finish working on my Mac, I manually save (command + S) and then Quit Scrivener (command + Q). This will save you a lot of conflict headaches.
Fourthly, I recommend you Google 3-2-1 backup strategy and explore a preferred variation that works for you. I started a thread to gather people’s different backups strategies here: https://forum.literatureandlatte.com/t/what-is-your-backup-strategy/132732. I did this for my own learning and I would suggest some people’s practices in that thread are more efficient than mine. But, you can see what different people are doing and craft your own strategy from the advice. My approach that I showed there was designed to use only free services or free tiers of services to illustrate you don’t need to start paying different platforms money to design an effective syncing and backup strategy.
Finally, and most importantly, I recommend you validate your syncing and backup system is working at least once a day. More if you are writing extensively each day. I can validate that all my syncs and backups are successful in 15 seconds across four platforms (see link). Some people get so used to their automated system that they forget about it and only when they run into trouble do they realize it stopped working a number of months ago. So, a minimum of checking it worked once a day is time well spent.
Hope this helps.