I'm not sure if it will keep everything automatically synced, but I've never used that feature--I always sync manually because I don't trust the software to do it right.
I think MediaMonkey will sync music by playlist? It's been years since I even tried MediaMonkey, so I honestly couldn't say.
The way Rockbox behaves, there's no easy way to randomize everything on the player, no matter which player you use. There are two ways to do it, though:
Method 1: Database. If you initialize the Rockbox database, it will inventory everything on the player (both cards, as far as I know) and keep a database of all the music on the player, similar to how the iPod does it. That way you can search music by artist, album, song title, genre, etc. without navigating a PC-style file tree. To randomize everything, simply navigate to songs and add them to the current playlist. Change the play mode to Shuffle and you're good. The problem with initializing the Database is that is slows down the player. When you power on, Rockbox does a quick database check, which can slow the boot time down by 10-20 seconds, depending on how much it has to do. If ind the player is far more responsive without the Database.
Method 2: Make a playlist. In Foobar2000, I just add all the music folders to one playlist and save it (Foobar2000 always defaults to its native Playlist format, .fpl, so you'll have to change it to .m3u or .m3u8 and save). The Big Trick with this method, though, is that Foobar uses the drive letter to specify where the files are, so you need to change that, and this is where things get sticky. Once your playlist is saved, open it in a text editor (Windows Notepad works fine). Then you have to Find/Replace the drive letter for each card.
Let's assume your Slot 1 card is drive D: and your Slot 2 card is drive E:. Rockbox looks for Playlists in a folder called Playlists (I know, weird) in the root of the Slot 1 card. Since Rockbox doesn't use the Windows drive letters (D: and E
it has no idea where to find your files as listed in the playlist. Drive D: is easy to fix. Find all instances of D: and get rid of it so your entries in the playlist look something like "/Arcade High/Heat Wave EP/04 Coastline.mp3". Slot 2 is a little different. Rockbox calls that one <microSD1>. That means you'll have to do another Find/Replace and change every E: to <microSD1> so the music on the Slot 2 card is referred to as "/<microSD1>/Arcade High/Heat Wave EP/04 Coastline.mp3". For our purposes, the slash "/" tells it to back out to the root directory and start looking for the file folders there. So for Slot 2, the line reads: back out to the root directory, then go to <microSD1>, then the Arcade High folder, then the Head Wave EP folder, then the 04 Coastline.mp3 file.
Clear as mud.
The payoff for me is that it's relatively easy to build a playlist on the player itself. Navigate to the folder or song you'd like to add and long-press the Play button. You'll get the Playlist menu where you can add the folder/song to the current playlist in order or shuffled. Once you're done, saving the playlist is a bit of a chore, but that's mostly due to the odd button mapping that has to happen on the X3. Easiest: randomize everything on <microSD1> by highlighting it, long-pressing Play, and selecting Current Playlist, then Insert Shuffled. I usually keep my Various Artists compilations on that card for easy shuffle.
Oof, this was a long one. Sorry about that.