[Nexus 5 Q&A, Help & Troubleshooting] Elluel:
Managing syncs and services with "Disable Service"

Google Services drain? Syncs magically re-enabling themselves? Useless social app syncs?

Google apps and various social media apps use syncs. They'll put themselves under the "Accounts" section in Settings if they have any. At first the concept sounds fine, but the thing is, most of them are useless, abusively used and just waste your battery. Sync services cause wakelocks as they can't run while in deep sleep. Multiple syncs active causes dispersed wakeups, draining even more battery. Syncs also (for some unknown reason) sometimes re-enable themselves when you've unchecked them previously! Greenifying Google Play Services isn't a good idea since it'll constantly kill and automatically restart the services, which probably does more harm than good. It can also cause issues and break things, so what can you do about it?

There is a solution, use the app "Disable Service", found here: https://play.google.com/store/apps/details?id=cn.wq.disableservice

True to it's name, it allows you to selectively disable services for apps, completely preventing them from being used, as if they didn't exist:

As you can see above, I only have a Sync for Gmail, it's the only one I have a use for and the others are completely disabled, not just unticked (they sometimes re-tick themselves..).

[Note: "* Google Play Services" is a hidden sync that's for Google Account settings, I can see it because I'm using the Greenify Donation Package along with Xposed, the feature called "Reveal Hidden Sync". Its integrated into the core of Google Play Services so you can't disable it completely without causing issues (unticking is fine). It doesn't cause any wakes anyways since it's only active for a moment when you manually change account settings in Google Settings (i.e. device is awake anyways and it's not like you're always changing the settings).]

Now Google Play Services, various Google apps and social media apps have a lot of services. How do we tell which ones to disable?

They have "Sync" in the name and begin with what they're syncing.

For example:

Under Google Play Services, PeopleSyncService is the sync for "People" under your Google account.

Under Google+, AutoBackupSyncService is the Auto Backup sync for Photos.

Simply uncheck the boxes to disable a service:

If you're unsure which sync is which, the best way to tell is going to the sync page (In Settings > Account, see the first screenshot of this post), then opening Disable Service, disable a service and see which sync disappears. Re-enable it if it turns out to be a sync you rely on. If you're not 100% sure what a service is for, feel free to mention me in this thread, I'll provide an answer if I know what is is.

Social media apps also use syncs for purposes such as "find your friends", "contacts sync" and "photo album sync". Useful for some, but not everyone. They also use syncs to "refresh" automatically while you're not looking at them. There isn't really any need for that.. I mean, it'll refresh posts when you open up the app again and your notifications are pushed to your device anyways, right?

Waste of battery. You can disable all these too with no issues. Extremely helpful if you have a bunch of social media apps which nag you for syncs.

Also keep in mind that Google apps put all their syncs under the Google account and you'll have to go their respective apps to disable them (usually with "Adapter" in its name, but not always). For example, the Google+ and Google Chrome syncs get merged under your Google account.

If you also have the Greenify Donation Package and Xposed Framework, you can enable "Wakeup Timer Coalescing". This feature causes your syncs to all sync at the same time, rather than leaving them to sync whenever they want. It'll save a bit of battery because it'll only need to wake once rather than multiple times. Useful if you still rely on a few actually useful syncs such as Gmail.

The Disable Service app is also useful for disabling useless services which other apps tend to activate even if they're not being used. One example is YouTube. It wakes up screen cast services even if they're not being used, which subsequently wakes up Google Play Services. If you never use screen casting, you can disable it so it won't wake Play Services pointlessly whenever you open YouTube. Examples of some other services you can disable if you don't use them are Wearable Services, Play Games, Analytics. Don't disable any services with "Gcm", "gtalk" or "push" in them or you risk missing notifications from apps which use GCM cloud to push notifications to your device.

If you never use location you can also disable everything with "geo" or "location" in it, so it'll be completely disabled. No more location wakelocks. Ever.

Do keep in mind that disabling some could render an app useless if it legitimately needs to use it.

Titanium Backup won't work on Disable Service as it doesn't actually store any data itself and disables it in the system ("pm disable"). The "cut off wakeup path" feature of Greenify Donation Package + Xposed does the same thing, but (as far as I know) temporarily as it stores it in Greenify's data, and you can only disable them once they come up, not selectively.

Luckily, Disable Service has a hidden backup/restore function which you'll probably miss. Its in Overflow Menu > About. Helpful when flashing new ROMs/clean flashing. Puts DS_backup.txt on your Internal Storage.

For a general idea of what most of us have disabled without issues, I've dumped screenshots of what I personally have disabled. Please note that not everyone's would be the same, and some people may still need specific services to be enabled. Here: http://imgur.com/a/YyPtT

Blocking the wakelock permission on Play Services isn't a bad idea either, see my post here: http://xdaforums.com/showpost.php?p=54516634&postcount=332

If you're a user of location but you don't want the services to always be active when you don't need them (e.g. you only need them for driving/maps), you can use Tasker to enable and disable them. Create a new task, add action: Script > Run Shell. The command is "pm disable package.name/package.name.service".

e.g. for disabling AnalyticsService:

pm disable com.google.android.gms/com.google.android.gms.analytics.service.AnalyticsService

Make sure to check "Use Root". To enable a service you use pm enable instead of pm disable, of course. Try not to toggle them too much (e.g. enable/disable if Google Maps is open or not), as it'll probably cause a lot of lag. Manual toggles are probably best.

Enjoy your device without the annoyance of Play Services wakelocks/syncs:

(13% left, might've made it to 2 days with 7 hours SOT but I was tired so put it on the charger)

For those who want to disable OTA services (and it's possible wakelocks) PROPERLY:

(you can also just "su" then "pm disable com.whatever" via a Terminal app)