Another for parquet on GCS. If your users like to use SQL, they can directly query parquet files using BigQuery: https://cloud.google.com/bigquery/external-data-sources
Since parquet is already a sharded format, you could consider abandoning your convention of keeping your datasets partitioned as they are now by year and state and instead store them in one single giant parquet file (with year and state as additional columns / indexes).
For your sqlite DB, The “cloud-native” solution would be to put your relational data into a cloud-based database like Google Cloud SQL.