I haven't gotten to a full cleanup of data type logic, but Liquibase does try to handle type differences in a cross-database manner if you use "standard" types. In Liquibase 3.x you can control exactly how the data types are handled with extensions, but there is still some work to make it easier to use and handle edge cases better.
I tend to suggest writing a generic changelog and then relying on liquibase and/or extensions to transform it to db-specific types. That lets you more easily handle new database types or make sweeping changes in how types and SQL are handled.
Liquibase does have a type of preprocessing with changelog parameters which you may want to look into as well.
Nathan