Agreed with using better drivers. I saw OAKCDROM.SYS and instantly thought of alternatives. I didn't know about UIDE when I researched this many years ago. But I still found better alternatives than OAKCDROM.SYS : See TOOGAM's Software Archive: CD-ROM drivers. CuteMouse is also a great recommendation. These can provide you with more free memory and really no downsides. It's just newer and better code.
SHSUCDX can save memory, although may have some issues with CD Audio (at least with version 2.20b, as I recall). If CD audio works fine with it, or if that is a non-issue, then use it.
I also agree with using DOS=HIGH,UMB and trying to use DEVICEHIGH. But using DEVICEHIGH might use up a tiny bit of upper memory, and then you might have just barely not enough upper memory for something bigger. So watching things carefully may be needed to get the ideal setup. Don't even bother with that until after you know what drivers you want.
Then, LH can be used for anything from the command line, including anything loaded from the AUTOEXEC.BAT.
Get rid of DOSKey: Instead, use 4DOS to replace Command.Com. 4DOS used to be shareware but there is now a Freeware version, and then later source code became available. I do believe that 4DOS tends to use less conventional memory, or at least can be configured to do so. To use 4DOS, obtain the software and then have the CONFIG.SYS refer to it via SHELL, e.g.:
SHELL=C:\4DOS\4DOS.Com
Also set the COMSPEC:
SET COMSPEC=C:\4DOS\4DOS.Com
Comspec can be CONFIG.SYS or AutoExec.bat
Probably get rid of SETVER: It is usually completely unnecessary. It simply makes some software work, instead of the software complaining uselessly about software versions. But software typically doesn't do that unless it was bundled with another (commercial?) DOS version.
][CyberPillar][: DOS Memory lists some other options, like replacing the memory managers. e.g.: If you have the time to really play with stuff, see if UMBPCI works on your system. If so, enjoy using that instead of EMM386.
Otherwise, EMM386 (I think, maybe HIMEM, but I think EMM) has some parameter (HIGHSCAN if I remember right) that can generate more memory, but freezes up a small percentage of systems. Check the online help for such a parameter; it might cause more memory to be found and be used.
Well, following all of those tips will be a pretty good start anyway.
I know you addressed this in your question, but since that line ay be easy to miss, I'll quickly point out that NLSFunc (National Keyboard Language Functionality) and DISPLAY.SYS (loaded in CONFIG.SYS) may be unnecessary unless you are trying to support non-American code pages. Similar for KEYB. I don't know how well POWER is.
Don't have much faith in MemMaker. It can help. It can make things worse. Usually it helps, a bit, if using an unoptimized system. Maybe try it again after making all other recommended changes, including backing up your CONFIG.SYS and AUTOEXEC.BAT before letting MemMaker look at the system.
If you need memory for a specific application, you might be able to create a boot menu that lets you choose what drivers to load. MS-DOS 6.x supported this by using commands in a CONFIG.SYS. (See HELP for "menu" commands.)