As a rule of thumb (out of personal experience, other people will have different numbers) I would say, take the hardware from your current environment and add 30% RAM and 35% CPUs resp. CPU cores. That should give you a good start.
About the upgrade process, no one can answer that except you. If you think you need to have separate servers for the repository services, then you surely have made some experience which led to this attitude. If the reasons for this attitude still pertain, keep this setup. If these reasons no longer exist (or no one recalls those reasons), try running a consolidated environment for some time with the option to increase it to a two-node setup if performance dictates to do so.
Just my 2 cents.
Thanks for the good advise. We are finalizing our configuration and I am comforted to see others are doing similar upgrades.