Ciao, personalmente userei una semplice variabile che mantenga il valore corrente del checkbox in modo da poterlo ripescare dopo il reset.
Il resto del tuo script può essere snellito.
Posto un esempio:
codice:
<!DOCTYPE HTML>
<html>
<head>
<title>Esempio</title>
<meta charset="utf-8">
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
$(function(){
var isChecked; // flag per il controllo del checkbox
$('#checkbox').change(function(){ // al change del checkbox
$('#div_form_1').toggle(isChecked = $(this).is(":checked")); // visualizzo/nascondo il div e aggiorno la variabile di controllo
}).change(); // chiamo il change ad apertura pagina per aggiornare lo stato del div
$("#resetForm").click(function(e){ // al click del pulsante reset
e.preventDefault(); // prevengo l'azione di default del reset
$('form')[0].reset(); // eseguo il reset
$('#checkbox').prop('checked', isChecked).change(); // quindi aggiorno il checkbox secondo la variabile di controllo
})
})
</script>
</head>
<body>
<form action="action_page.php">
<label><input type="checkbox" id="checkbox" value="#checkbox"> #checkbox</label>
<div id="div_form_1">Questo è #div_form_1
<input>
</div>
<br><input>
<br><input>
<br>
<input type="submit"></fieldset>
<input type="reset" id="resetForm">
</form>
</body>
</html>