I dont know what you mean by 'Buffer gets' but there are two types of 'gets' in buffer cache, 'consistent gets' and 'db block gets'.

You calculate Buffer cache hit ratio as follows:
Code:
Select name, value from V$SYSSTAT where name in ('db block gets', 'consistent gets', 'physical reads');
Now Calculate hit ratio in % by:

(db block gets+ consistent gets - physical reads/db block gets + consistent gets)*100

If gets are higher, hit ratio cannot be low as explained above.
Does high buffer gets indicates that most sql's are processed in memory instead of disk
It means that the data was found in the memory and physical reads were avoided to fetch the data.
Is it advisable to increase the shared_pool size if the hit ratio in the buffer cache is very low (10%) but have very high buffer gets?
What has shared pool got to do with it? I think you are a little mixed up between shared pool and Data Buffer cache. Buffer cache is a place in memory where data is read into from the disk. Shared pool is entirely different area of SGA which comprises the library cache (SQL parsed plans etc), dictionary cache and other things are located.