It's possible for a smart contract to stake EOS user account tokens? And then rent them or apply them as the smart contract owner wants, to be able to generate some revenue or to pay for RAM if user doesn't have it? I'm trying to see if there is a business model of this kind.
EOS is designed to allow developers creating new business models. Maybe this part of the whitepaper helps you.
A holder of tokens on a blockchain launched adopting the EOS.IO software who may not have an immediate need to consume all or part of the available bandwidth, can delegate or rent such unconsumed bandwidth to others; the block producers running EOS.IO software on such blockchain will recognize this delegation of capacity and allocate bandwidth accordingly.
State Storage is RAM when I remember it correctly.
State Storage Costs
While bandwidth and computation can be delegated, storage of application state will require an application developer to hold tokens until that state is deleted. If state is never deleted, then the tokens are effectively removed from circulation.