you need to root, install Faux123's kernel and get FauxClock so that you can enable ZRAM at 384MB and Kernel Same-Page Merge.
The ZRAM virtualizes, buffers, and compresses the disk improving throughput when other data is needed (such as reading from flash to launch an app or bring back into memory). Minimal battery hit and data is retrieved faster since it's in the RAM. Obviously you won't get the same benefit as my Nexus 5 set at 1024MB on this.
The KSM virtualizes redundant portions of apps-- the java VM footprint for one, OpenGL-ES2.0 libraries are 9-16MB redundant data in every app that's using them, etc. Quite a savings. This significantly lessens the effect of Google always having a bunch of other apps that they install like Newsstand, Magazines, the Books app, Movies and Entertainment, Music, Amazon, Amazon Appstore, Amazon Prime/Music, Facebook Messenger (actually I haven't used that in ages, but having it installed lets me keep using the stock built in messaging platform in the Facebook app like before it was mandatory), Skype, Google+, etc. Finally, use AppQuarantine to lock and disable apps that like to run around in the background doing things or simply keeping themselves in RAM while you're aren't currently using them. Facebook, Instagram, can't do it to Twitter, etc. It's a widget you tap on on your homescreen just like opening the app itself, same app icon, just with a lockbox in the bottom corner.
You can find the recommended settings for your phone by googling Moto G Faux123 recommended settings, they're a picture album on Google+
your phone will be much better after doing all these things. You need to do these things. You will be very pleased with the results.