How do you know the pool doesn't make up hash under their control?
you dont. for any pool you dont have that info. including ocean. there is some semblence of trust for all of them.
What if you published all shares with a signature from the pool that miners could independently validate?
They could still cheat, but in order to get away with it the miner that they’re not publishing signed shares for would have to be checking and call them out? Is that right? So if all miners check all the time against the signed pool-published shares, then they would get caught? Miners would also need receipts for all shares submitted
Yup! That's the idea.