Of course, I have my own opinions here...

How about making the pause take effect at the next opportunity in multiplayer? Pausing right in the middle of an auction or when someone is in their development phase is not good. If you pause, it should kick a "all users press button to continue" at the very next opportunity. The pause would kick in as follows when the pause is requested:
Land Grant phase - pause would occur after land grant is completed
Land Auction phase - pause would occur after the current auction is completed
Development phase - pause would occur after the current player has finished their turn
Production phase - pause would occur after the development phase finishes
Auction phase - pause would occur after the current auction finishes, but before the next item goes up for auction
Summary screen - Leave as is
Also, The pause should not occur until the game needs input for the requesting player. For instance, if I finish my development, and need to go take a leak, raid the fridge, etc, I can hit my pause button and the other players can continue playing without me. If I don't get back by the end of Production, then the game should give the "press button to continue" maybe with an indicator that I am paused.
I do like having a time limit on pauses. Once the pause actually occurs, give the user 2 minutes to continue, or other players can vote to continue the game by either 1) kicking the player or 2) continuing without kicking them out. The time time limit can be shorter (like 10-30 seconds) when requested in the middle of a phase (such as in the middle of the auction phase), which would help to curb abuse by crappy players. The important factor is that the time limit is actually a grace period - it just allows other players to "unpause" after the grace period expires.
Each player can either get so many pauses (or timeouts) in a game, or alternatively have 3 minutes of total grace period time.
Also, during the "press any key to continue" it would be nice to have a "dinger" or some way to make noise in chat, but only when waiting for all players to hit the button. That way, if someone is daydreaming, the other players can get their attention. The dinger would not be available any other time except during the "press button to continue" prompt. This keeps noise abuse down by obnoxious people.
This is also a great solution for single player, as the AI should just press the button and wait for other players, just like on the summary screen. As far as overriding the pause, the AI would not get a vote to override, hence the way this works for single player.
Let me know if you think this sounds fair, or if you see any flaws in this idea.