Text below is a copy/paste job from this Reddit thread. Credit to Manburpigg and cjlacz.
Never attack player bases until you need them. Save them all for an important upgrade day.
Always clear NPC bases every chance you get.
Whenever you can re roll a player base that has low resources, do it and save the ones that have decent loot.
Don’t keep upgrading stuff just for the sake of upgrading stuff. Defenses are pretty useless until late game so don’t dump extra resources into them just because your builder is idle. (Edit: I’d invest in defense once you unlock the Hammerman attacking your base event, though you could also ignore that event and your defenses.)
Offense offense offense, always keep offenses going. The better you can attack the players around your VP level, the easier gathering loot will be.
Focus on one attacking strategy and always upgrade stuff in the armory that caters to that strategy. For me, it was tanks and medics and I leveled shock, flare and smoke just to help out because I use them from with TMed. Also, of course, barrage and artillery, those are an absolute must and should be maxed whenever possible.
Make sure your vault is maxed. That protects the maximum number of resources meaning you start off your raiding day better. It protects more resources above that allowing you even a stronger base. It also means you lose less when you are defeated allowing you to lose VP but keep quite a few resources above your limit.
Occasionally I’ll get so much extra resources from a combination of lack of getting attacked and lots of NPC base respawns I’ll do a cheap upgrade if my builder is idle, but you should always end up with your resources well above your vaults limit even after you start it.
One more point, make sure your storage buildings are well above what you need to upgrade if possible. You are always likely to end up with extra wood, sometimes stone and especially gold later in the game. If you don’t have head room in your storage you lose out on a lot of these resources as you attack to fill up on iron/stone. Having the extra left over serves two purposes: to provide loot to get people to attack you to lower your VP and two, to provide a strong base for your next upgrade push.
Sometimes you need to push back your upgrade for a day or two just because reward boats or the sub don’t cooperate with you. Upgrading something cheaper is always an option, but do storage, residences, production or anything non-defense related before defenses.