Is mining essentially just a way to randomly select the next winning miner? I know it's not really a completely random selection because some miners have more hashing power so their odds are increased.

But let's assume for a moment that all miners are about equal in hashing power.

The way I see it, whoever solves the current block is (almost) completely unpredictable and thus mining is just a way to randomly select a winning miner.

I understand about decentralizing and the need for a decentralized way of selecting this winner without trusting a higher authority for this random selection.

Let's imagine for a moment that there was this "god-like" machine somewhere, completely trustworthy and incorruptible, impossible to bring down or shutdown and completely fair.
Let's say this machine would select the winning miner that would create and sign the next block and get the reward and fees.

Would there still be a need for mining in that case?
Mining adds a certain level of commitment to the process.

If mining were free, a corrupt user could create thousands or millions of corrupt miners (for free) that would publish invalid blocks that made itself rich, and try to get even one of these blocks accepted.

The same is true of your "god-like" random selector:
Publish blocks, and hope you get randomly selected!  

But mining is intensive: it costs money to setup a miner, and it costs electricity and networking to run a miner. You cannot fake thousands or millions of miners; each of them costs real money.

So the only way you can publish invalid blocks and hope to get rich is via a substantial investment.   The hash power of the network is so big now, that it is virtually impossible to setup a "evil" mining pool.  (If you succeeded, that would be a >51% attack)

The costs associated with mining ensure that there is a barrier to entry, and that "evil" miners cannot easily hope to overcome "honest" miners.  It ensures the integrity of the entire system.