The answers are, unfortunately,
80 and 79.
Why?
Because the ships in total cover twenty cells.
Sniper: The sixteen cells holding the multi-cell ships can certainly be determined with fewer than eighty shots, but if more than four cells remain to hold the one-cell ships then their locations cannot be determined - it's trivial to arrange them so that any particular cell is unoccupied.
Ninja: Fire into all squares not inside a given 3x7 rectangle. For any given cell inside the 3x7 rectangle, it is possible to arrange the ships as follows:
Fill the two seven-cell rows not containing the chosen cell with 3+4 and 3+2+2-cell ships.
Place a 2-cell ship in the last row then fill the remaining cells with the one-cell ships.
Therefore, the occupied cells cannot be determined.
[EDIT: The above is all wrong, because I missed the part about ships being nonadjacent.]
With that settled, I can get a score for Ninja of at least
seventy: Take three nonadjacent rows, and fire into every square not in those rows.
For any cell in the three remaining rows, place the ships as follows:
Fill the rows not containing the chosen cell with 4+2+1 and 3+2+2-cell ships.
In the remaining row, the chosen cell will be at least five cells from one of the ends - in this longer space, place the remaining 3-cell ship and as many 1-cell ships as will fit. The remaining 1-cell ships will fit on the other side of the chosen cell.