I had the same problem and found some solutions:
DoubleTwist:
Pro:
+ do the job well.
Con:
+ organize the music into Artist/Album/... structure, hence creating thousands of folders on my device.
+ is not compatible with other players on Android. It doesn't output m3u files, so playlist will only work on DoubleTwist player on your device. If you have another favorite player (like Cube, PowerAmp, Meridian, etc.) like I do, this is a deal breaker.
Sailing Media Sync:
Pro:
+ do the job OK (read Con for why)
+ output m3u files, so it works with most players
Con:
+ organize the music into Artist/Album/... structure (as above)
+ the free version would erase your /music folder and re-copy all the files every time you sync, making it very slow. The paid version, which sync "smartly" comes with a ridiculous cost: more than $20.
So, I was left to come up with my own solution. I wrote a program that have all the features I wanted, which are:
+ store all the files in the same folder
+ output playlist in m3u files
+ sync smartly
You can try it at
FloatSync: Sync your iTunes media to your phones. It's an open source program, so if you like, you can change it whatever way you want it. Otherwise, you can leave a comment on the page. I'll add features if there're enough requests.
I think syncing media is one of the most important things the device/OS manufacturers should think about. So I hope Google would provide a good solution soon. In the mean time, I hope this help a bit.