googleapis/python-bigquery#1529 and googleapis/python-bigquery#1547 have recently added arguments for overriding the default type conversions performed by record_batch.to_pandas(); this allows, for example, loading string data directly into dtype string[pyarrow] (which can be quite a bit more efficient) without doing any expensive conversions after the fact.
I think we could basically just copy the implementation from the above PRs, same kwarg names and everything. Anyone see any potential issues @jrbourbeau @j-bennet @ncclementi?