Две уже примененные схемы - плагиат из готовых забугорных проектов. Я ничего не имею против добавить и другие решения, тем более если говорить за SD, то вся разница будет только в низовой подпрограмме записи/чтения байта (т.е. пара десятков байт), весь прочий код - одинаковый, схемные варианты автодетектируются. Если будет где срисовать такие же подпрограммы для третьей схемы - встрою в общий алгоритм автодетект и работу дополнительно и по третьему варианту.