Linked List Improvements in C
Bug: can't delete head node

Your delete_node() function doesn't work if the node you want to delete is the head of the list.  In fact, the function signature can't work:


void deleteNode(node_t *node, node_t *head);



Since the head pointer can change if you delete it, your signature has to be one of these two instead;

void deleteNode(node_t *node, node_t **head);
node_t *deleteNode(node_t *node, node_t *head);


Insert should be renamed

Since your "insert" function adds to the end of the list, I think it should be called append() instead.