HSQL loads the full EPSG database in memory before usage, which is slow and consume a lot of memory (4 Mb). H2 has been reported faster and more reasonable on memory usage. Furthermore, H2 is under consideration for adoption by the Geoserver project, and we will probably want to avoid usage of 2 database engines in the same JVM.
Given that the H2 API is very close to the HSQL one, it should be easy to switch from HSQL to H2. But we may need to wait for one remaining issue before we can switch: