The fee mechanism on Starknet is in development, but some high level principles are certain.
First, the general maxim is "compute is cheap, writes are expensive" (source) because storage is persisted on the L1. As you allude to, this will change in the future when Starkware introduces Validium mode which will enable data to be stored off-chain in a data availability network, with only data validity (not availability) guaranteed by the L1. This will also change with The Merge, sharding on the L1 and EIP 4488.
See this link for details on fees for computation, and here is a back of the envelope calculation for on-chain storage (as it is today):
- Bytes per storage slot: 64
- Gas per byte: 16 (would be 3 with EIP 4488)
- Gwei per gas: 100 (changes, could be 200 as well, see the gas tracker)
- USD per Ether: $2,000
-> USD per storage slot: ~$0.20
As you mention, subsequent updates to the same storage slot within one L2 batch will be cheaper, as the cost of writing to L1 is only incurred once per state update. This feature is not live on Starknet yet, and how high this rebate is will depend significantly on L2 batch time. Given that batch time is ideally at most a minute in steady state (and roughly that on testnet today), unless you are updating much more frequently than that, don't expect a big boost from the batching rebate.