From what I have read in the code, you don't need to manually add either batchNormalization layer or a softmax layer. Both are used by default.
The net.hyperParam.normalizeNetworkInput variable controls the use of batchNormalization, 1 = Yes, 0 = No.
The net.hyperParam.errorMethod variable controls the use of softmax. 1 = use "cross entropy", to my understanding, it is what you call "soft max", 0 = to use MSE.
Rice2999