IntentService
is far better than code Threads from scratch and you can have more than one Service "running" (be carefull about the concept of "running" service). And remember that more Services "running" at same time means more Threads and more resources being drained.
But if if you don't need real time synchronization (do you really need it? are you sure?) take a look at SyncAdapters
, it's a good way to let Android itself handle some sync issues like lack of internet connection:
http://developer.android.com/training/sync-adapters/index.html
Also Google Cloud Messaging can help you:
http://developer.android.com/google/gcm/index.html
Important note about SyncAdapters
: you can hint it about when to synchronize but it can have delays... so be carefull about how this affects your application.