Lo normal es que el usb te de hasta 500mA de intensidad siendo 2.0, un 3.0 te da cerca de 1A.
Los fuses si se podran programar desde el bootloader, de por si al meter el primer programa con el bootloader de origen podras retocar los fuses asi que tambien lo podrias hacer desde un bootloader personal, todo es mirarlo. De todas formas la mayoria de micros nuevos ya no llevan fuses o bien son algo distinto a lo que entendemos en un pic como fuse.
Lo que tendrias que hacer es crear tu propio bootloader o bien coger uno y modificarlo. Entonces si el usb envia por ejemplo un comando "BOOT" el programa entra en modo bootloader para programar el firmware, eso de poner un switch o que al arrancar el programa te entre o no en bootloader es algo viejo, ya puedes hacerlo en cualquier momento.
Te recomiendo hacerlo de esta manera: Al entrar en modo bootloader carga el bootloader en la RAM, ejecuta el bootloader desde la RAM y asi actualizas la flash por completo, si por ejemplo quisieras modificar el bootloader podrias hacerlo. Existe un problema al hacer esto, y es que lo desconectes o te quedes sin alimentacion antes de acabar, quedara inservible, se me ocurre una solucion, al empezar a escribir el bootloader en la direccion inicial de la flash pones un jump a un bootloader alojado en la flash no modificable, inicias el procecimiendo te bootloader, escribes y escribes la posicion inicial de la flash en ultimo lugar, asi si por un casual no se escribiese la primera posicion con el nuevo firmware este haria un jump hacia el bootloader y entraria siempre en modo bootloader hasta solucionar el problema.
Es algo complicado, pero si lo entiendes mas o menos sabras a que me refiero.