If you are building a development boards at home probably it is best to choose the easier way of doing that. Instead of building one huge board with functionality overload go with modular concept. Make a base module where microcontroller residues and then start building extension boards that may be used when needed. This way you will end up doing projects faster and more efficient. Modules may be reused in different projects.
Neodon did just that. They build a breakout board for PIC16F87X with power supply and support circuit like reset and crystals. Of course all I/O’s are populated on a side. And then additionally they made an extension board for RS232 which easily can be replaced with USB to USART adapter and so on. So instead of building another board you just need to replace the com board without affecting the entire project.