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: