"Each user would have the phone situated on different surfaces with different resonances, which I presume would lead to different readings and waveforms."
Sure, but if you combine a couple of thousand readings from roughly the same location, it will give you a pretty exact picture. That way you can eliminate trucks, metro or other sources of data pollution.
So this is how the next sci fi movie tracks the truck with the cargo: Lets zoom in, in impossible sharpen mode, oh, look they have the app running, quick, track the truck by sieving all the data from the app in that city and plotting the truck travel. This is kinda how massive detectors at places like LHC work on sub atomic particles to track in detectors like ATLAS; so it isn't too much of a stretch to scale it to macro.