>GPIOでは電源から切ることは出来ない

そんな事ぁない、GPIOでボタン検出>外部タイマー起動(シャットダウン時間+SDフラッシュ時間+α)>シャットダウン開始>外部タイマーで電源断という外部回路にすりゃええねん。