Tip #0: Choose your development device wisely
The slower, the better. However, don't overdo it.
Having a too slow device will slow you down and will make you optimize too early,
when is not necessary.
I guess somewhere in the middle is where the virtue is.
Optimizing Build Size
Sometimes your games will use far too much space for no reason at all.
Keeping the size of your build is very important as it will affect directly how many people will be able download your game. Also is important to note that when users need to un-install games from their device they will usually start with the bigger first. Call it survival
Tip #1: Compress textures and audio files
Build your game and check your Editor Log for the files that use more space in your game. Most of the time will be either textures or audio files. Textures should be squared and POT to be compressed, around 1024x1024. Preferably never above 2048. Audio files should have the compression enabled always, unless the sound is super short and compression messes up with it's quality (rare thing).
Tip #2: Pack your sprites
All the sprites in your UI and game should be packed whenever possible. In Unity 5 you have the Sprite Packer for free, but you may be using others like NGUI. The sprite packer, for example, is a great way of removing the limitation of POT sprites and atlas creation from your artist. Just set the packing tag and Unity will take care of everything for yourself, easily saving tons of space.
Tip #3: Enable stripping mscorlib level
Whenever your project (and plugins you are using) allows you, you should enable the stripping of unused dlls from your project. Chances are high that your 2D game will not use many of the Unity features, maybe not even physics, that use a lot of space.