>>45322606dark souls balances it by having experience as both character and shop currency
the ideal solution would be to set a lvl cap and gain less experience as you get closer to it, so simply grinding trainers wouldn't give you unlimited experience and money
dark souls also offers you a way to skip enemies by rolling or choosing different paths, you would have to give players a reason to avoid trainers and a choice to do so, maybe shortcuts