Good article. You did a good job of describing how to add distribution databases, which is something that I had never considered before.
However, I am curious about the factors behind your recommendation. I would expect a bottleneck to occur on the CPU or I/O, but not the database itself. You referenced the MSRepl_transactions table getting too large, but I don't see that as being a problem because the clustered index is on (publisher_database_id, xact_seqno) which is int and varbinary(16). Would the concern be seeks because the index level would be deeper with more records? What advantage would there be assuming one disk array and I/O is not the bottleneck?
I think you did great in the how to, but I am wondering about the why.