Muitas respostas aqui indicam o armazenamento como UTC. Mas tenha muito cuidado com isso. Por exemplo, se você agendar um compromisso às 12:00, mas o compromisso ocorrer após a alteração do horário de verão, o que acontecerá? O UTC não mantém nenhuma informação sobre se o dst estava ativo quando o compromisso foi armazenado. Muitos sistemas grandes e famosos cometeram esse erro, onde um usuário envia um email às 9h no verão e, no inverno, o horário enviado mostra 8h, porque o cálculo do UTC depende de quando você olha para a data e hora, não ligado quando a data e hora foram gravadas.
Muito melhor é assumir que seu usuário deseja ter os horários que escolheu sempre. Nenhuma conversão UTC, nenhuma conversão de tempo, nenhuma informação de fuso horário, nada. Marcar uma consulta das 08:00 às 12:00 de 21 de março de 2016 é exatamente isso. Não use a hora local ou a hora UTC, mas a hora não especificada (no json, isso não tem z nem +, basicamente, no .NET, ele tem DateTime.Kind = DateTimeKind.Unspecified).
Obviamente, se seu caso de uso é que você é uma empresa que realiza reuniões com alguém de fusos horários diferentes e deseja ver essas informações em, por exemplo, um calendário da empresa, mas permite que os usuários vejam a que horas é o fuso horário, fica mais complicado. O horário deve ser correto para pessoas diferentes em fusos horários diferentes (o fornecedor e o cliente).
Nesses casos, você pode até querer registrar quando o compromisso foi salvo no banco de dados, em que fuso horário e se isso incluía o dst ou não. Dessa forma, você sempre pode calcular a hora local para qualquer outra coisa, seja para o que seria agora ou para o que deveria ser historicamente. Como os fusos horários não são estáticos, tornando as coisas ainda mais complicadas.
Felizmente, é aqui que as bibliotecas como http://nodatime.org/ entram e são altamente recomendadas. Eles trabalham com datas de maneira muito mais consistente. Mesmo assim, eu recomendaria agrupar todas as suas variáveis de data e hora e lógica em seus próprios wrappers, usando interfaces para que elas possam ser zombadas e, em seguida, você ainda poderá alternar a lógica posteriormente.