There's already a plan for your scenario. It looks like this:
pub fn demo() -> [Option<String>; 100] {
[const { None }; 100]
}
Hopefully it won't be too long until it stabilizes.
EDIT months later: Stabilization is proposed! https://github.com/rust-lang/rust/pull/104087#issuecomment-1315946122