Coincidentally I have purchased and tested a cheap USB hub with 7 ports on my raspi1 today. Some ports doesn't work as expected, but I didn't have time to check it deeper.
Did you turn on the "Save config on exit" in RetroArch (config_save_on_exit = "true" in retroarch.cfg). I'm not sure but by your description it seems to be your problem (at least one of them).
BTW, maybe you like to know this tool: https://retropie.org.uk/forum/topic/1167/here-is-a-way-to-select-joystick-for-players-1-4-global-or-emu-specific