A veces no hay mucho que hacer. Si lo que tienes es muchas columnas en una tabla no se puede hacer mucho ¿no?
Lo que yo haría sería que el elemento donde metes la tabla tuviera su propia región de scroll, para que el usuario pueda desplazar la tabla para ver la región que sea.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Test de región de scroll</title>
<style>
.regionscroll {
max-width: 100%;
overflow: auto;
}
</style>
</head>
<body>
<div class="regionscroll">
<table>
<tr>
<th>Item numero 1</th>
<th>Item numero 2</th>
<th>Item numero 3</th>
<th>Item numero 4</th>
<th>Item numero 5</th>
<th>Item numero 6</th>
<th>Item numero 7</th>
<th>Item numero 8</th>
<th>Item numero 9</th>
<th>Item numero 10</th>
<th>Item numero 11</th>
<th>Item numero 12</th>
<th>Item numero 13</th>
<th>Item numero 14</th>
<th>Item numero 15</th>
<th>Item numero 16</th>
<th>Item numero 17</th>
<th>Item numero 18</th>
<th>Item numero 19</th>
<th>Item numero 20</th>
</tr>
</table>
</div>
</body>
</html>
La otra solución sería no maquetarlo como una <table> que son muy rígidas y hacer alguna otra forma en la que cada elemento lo tengas en una caja independiente donde se muestren los datos de otra manera más imaginativa. Pero eso ya es algo que depende del diseño.