In order of importance:
1 Being able to master well
2 Having a set of quality speakers. Easy to do these days. A lot of speakers sound great now!
3 Having a reasonable sounding room. Also achievable even with modest situations by doing some basic operations such as controlling most reflections to some degree.
Go back and listen closely to the sounds that are adding weight to the mix. The kick drum and bass guitar are a good place to start. You can create a nice healthy bottom end but then in mastering, taming that low end comes into play. You have to shape it well. Keeping the right amount of low end in without things getting too deep or subby.
Lots of other sounds contribute low end. Ensure you are not cutting too much away from some sources. Easy to do and get carried away with. Sometimes you don't have to push the mids so high either to get sounds to be heard. Keep the balance normal. Remove a little low end from something individual and turn it up a little after doing that.
With a mix too you might get some slight build up around 250 Hz or so. Upper lows or lower mids. In the mastering EQ one can dip that down slightly and then the mix becomes clear and still retains its lower bottom end.