I made a large autistic post about this in the Halo thread: >>3585
But if there's one single piece of advice I can emphasize, it's that the game should have an automap function, so levels can be fearlessly designed with complexity and freedom justifying that.
Unless, of course, the player journeys to some kind of gimmicky madness, like the descent into hell in Doom, or inside the protag's nightmares in Marathon Infinity. Even then, somewhere more "normal" to compare it with is helpful in accentuating the weirdness of weird levels.
Your design's varied weapons and foes seem like the best area to add depth to its combat would be special interactions between enemies/weapons, and different damage types.
Have some enemies be bullet resistant, fireproof/flammable, electrically insulated/vulnerable, etc.
Have different "phases"/"modes" for tougher enemies to encourage weapon combos, like electrocuting an enemy to disable their shields, or using bullets to crack heavy sealed armor then ignite their ammo with flames, or the old standby of regenerating enemies that need to be hit with high explosives to be permakilled. Maybe add group dynamics so some enemies could blow out fires or supercharge each other.
And maybe environmental features, so electricity would be more effective against foes in water, flame would ignite some scenery, etc.