Microcontroller sending garbage to Raspberry
Your issue is that you are calculating the baud rate divisor for "double speed mode" but you are neglecting to enable that mode by setting bit 1 of UCRS0A, which defaults to 0.  This means that the UART bad divider is operating in single speed mode, for which your divisor value is twice what it should be.  Thus your serial port operates at half the intended speed.

You should either:


Divide by 16 in your divisor calculation and leave/set UCRS0A bit 1 at the reset default of cleared.
Divide by 8 in your divisor calculation and explicitly set bit 1 of UCRS0A.