I highly doubt the fees will be enough to keep companies mining BTC...
You are exaggerating. About 50 btc per day is currently paid in transaction fees. Somebody is going to mine in order to earn those fees.
I highly doubt the economics run that direction. It is true that if fees do not rise then companies will not mine therefore fees will rise in order to keep companies mining BTC.
I don't think that is necessarily true either because there is a tragedy-of-the-commons problem, as in "I'll let someone else worry about miners getting paid".
The core issue is that the security against a 51% attack equals the cost of mining, which depends on mining revenue. If mining revenue is low, then the security will be low as well.
The only scenarios that will keep the fees (and thus security) sufficiently high are a limit on the block size that induces bidding on space in the block, a very large number of transactions paying 1 satoshi each (requiring an unlimited block size), or something in between.