Now might be a good time to consider splitting the database onto multiple computers. Might be simpler with a mid-range database, then your plan for the future is "add more computers".
Hmm... yes. Range partitioning seems like a possible way forward. I hadn't considered that yet. We might hold that back for when a dual-head approach (server + jbod) can't scale anymore, but I think that's a long way in the future.