If you want to interact with the Ethereum blockchain and make any sort of change to the data stored there, then you have to use Gas (which means you need Ether).
I have seen ideas floated about refunding Gas to users using some clever contract code, but if the thing you're trying to avoid is forcing your new users to have to learn about wallets etc then this won't solve it.
A possible solution to ease them in could be to make the assets in your dapp transferable, and allow a single address to have multiple assets (call them Dapp Accounts) within your dapp.
That way you could have people sign up with a soft signup, which forces them to go through your standard login which is validated on your backend, and the Dapp Account is created by your backend, which has its own wallet.
Then when users became more advanced, you could allow them to transfer ownership of their Dapp Account to their own address. You would presumably also allow advanced users to create an account with their own address from the beginning.
This is my take on one approach, but keep in mind this would be a lot of work for you guys. It would make the contract code much more complex, and it would give you guys a lot more security concerns because you would probably have to have the private keys to an ETH address with a balance stored on your server. You'd then also need to make sure people didn't abuse your system to drain it by wasting gas.
I can't speak to your specific situation, but I think if you want or need to build a dapp, it would make sense to educate your users how to use dapps.