Heaven knows this has been suggested before, but I don't think like this.
Essentially, add in block "types" with according densities.
General dirt blocks (Browns - > Greens - > Tans etc.) will be stronger. Needing around 2x as much punishment.
Harder, Wall Blocks (Concrete Grey, maybe brick if you can make it so blocks aren't just one colour), would take 5x as much as regular, but also more limited and you cannot have them overhang without connections.
Now, how would we take them out? Simple. SMG's and Shotguns would have only a short distance (10-20 block range) of possible damage to harder blocks (Dirt blocks, anything can take them out, stand rules). They would also take more or less shots to take out the pieces. The rifle has a medium range (<60 blocks) and needs a fair less amount of rounds than the SMG or Shotgun. Shovel mines everything just as easily, except wall blocks need 2x as much. Grenades function as normal.
The satchel charge could then finally be implented into the game (Place, 3 second fuse, 3x3x3 explosion that destroys everything and makes grenade shrapnel/damage within 3x3x4 (4 blocks deep) inward from the charge and replaces the grenade)