Correct microprocessor to replace Arduino Uno

Why are you against using an ATmega328P ?
You have code that runs on it. It has all the inputs, outputs and memory that you need

If size is a problem then you could use an Arduino Micro or Nano in place of the Uno