Several ordering techniques for block based preconditioning are presented. The XPABLO algorithm as an extension of the original PABLO and TPABLO algorithms incorporates as a preprocessing step a nonsymmetric permutation combined with row and column scalings to obtain a large diagonal. A more general parametrization can be implemented in XPABLO while keeping the original time complexity of PABLO. It is shown that a block Gauss-Seidel preconditioner can be implemented to have the same execution time as the corresponding block Jacobi preconditioner. Experiments are presented showing that for certain classes of matrices, the block Gauss-Seidel preconditioner used with the system permuted with the XPABLO algorithm can outperform the best ILUTP preconditioners in a large set of experiments. The new OBGP algorithm extends a given nonoverlapping block ordering to an overlapping ordering to be used for algebraic Schwarz preconditioners. It is shown by experiments that using a multiplicative Schwarz preconditioner based on the extended ordering instead of using a block Gauss--Seidel preconditioner based on the original ordering can result in faster convergence.