I would go with Option 2..
You most certainly don't need a dedicated SQL Server machine for each client, you don't even need and dedicated Instance. I don't know you think that is the case.
My primary reason for this is that when the time comes that you want to scale horizontally (more servers) this is going to best position you to do that.
I don't understand why you think that to "manage updates to multiple databases could be very problematic". Dealing with different Db connections is trivial, i don't understand this concern either. All of this is particular true because "There is never a need to SELECT or JOIN data across multiple clients."
Additional Note : You can still partition the individual ClintClient DBs (by date or something) should you choose\need to do so.