You're ALWAYS gonna have problems on carpet. If NOTHING else, the the way the individual fibers bend in haphazrd directions is going to make it SLIGHTLY uneven.
The ONLY REAL way, is to build a small (even 1") base and screw it through the carpet into the floor.
The other ways, as you mentioned, are the leveling feet (I wouldn't go self-leveling, they never work) or just moving it into various places all over the place until it's level.
Then there's my personal favorite, and that of carpeneters world wide. Yes. It's the end-all-be-all of levelling tricks.
The Shim. (I use cedar shingles since you can buy them by the bale for less than $20 instead of those LUDICROUS 4 shims for $3 packages)
EDIT - One other note. You DON'T want to level it permanently to where you're going to be if you E?VER plan on moving it. Some people will shave off the side that's too high, and then when they move, the OTHER side is too high, so they shave that off..... You see where this is going. Their end table turns into a coffee table.